问题标签 [angular-cli-v6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular 6 - 从工作区嵌入应用程序
我有一些微服务,每个都公开 UI 应用程序。这些微前端是一个完整的 Angular 6 应用程序,每个应用程序都包含自己的页面/组件/服务和路由。
我还有几个产品应用程序(也是 Angular 6),我想将这些微前端嵌入其中。
我希望主要产品能够路由到微前端内的页面,因为它是主要产品的一部分。
我不能使用任何包含 iframe 的解决方案。
是否可以使用 Angular 6 工作区来实现这一点?
angular - Angular 库在使用时未运行 ngOnInit
我正在按照 Angular CLI 6 说明在此处创建库。我能够制作我的库,并成功构建它。该库由Component
我用于 UI 的一个和一个 HTML组成selector
。
现在我有一个单独的项目,我试图在其中使用这个库。我还没有发布它,所以我通过将它的内容复制dist/<my-lib>
到node_modules
另一个项目的中来使用它。我以前使用npm link
过,但遇到了这里描述的问题,这个解决方案对我有用。
我可以成功导入库并Module
在Component
HTML 文件中使用它的选择器,以及传递输入:<my-lib [id]="'my-id'">
. id
正确传递了,但其中的逻辑没有ngOnInit
运行。控制台不打印"ngOnInit"
。但它确实 print "constructor"
,并且组件 UI 元素正确显示。
我是否错过了一些让ngOnInit
逻辑运行的东西?
编辑:我应该提到图书馆正在运行:
"@angular/core": "^6.0.3"
"@angular/cli": "~6.0.7"
我正在尝试使用该库的项目是:
"@angular/core": "^5.0.1"
"@angular/cli": "^1.6.5"
不确定这是否会影响任何事情。
EDIT2:修复示例代码。
angular - 如何关闭 Angular 6 ng 测试的源映射?
我正在尝试为我在 Angular 6 中的测试关闭源映射。我知道源映射开关已被删除,例如ng test --sourcemaps=false
.
我尝试修改我的 tsconfig 文件:
正如 angular.json 测试 -> 配置块所引用的:
源地图仍在生成中。
angular - @angular-devkit/build-angular (nodeSassConfig) 无法通过 npm 下载
我已将“@angular-devkit/build-angular”添加为 devDependency,现在当我尝试运行 npm 时,我收到诸如“yp verb which
failed Error: not found: python2”之类的错误。那是因为它试图下载“
https://github.com/sass/node-sass/releases/download/v4.9.0/win32-x64-57_binding.node
“并且由于我们在防火墙后面,所以它失败了。
我遇到了“ https://github.com/sass/node-sass/issues/1106 ”,这表明如果我的 package.config 中有“nodeSassConfig”指向本地下载的 win32-x64-57_binding.node 版本它不会去 github 并会尝试使用本地版本。
即使在指定值之后,npm i 仍然会尝试访问 github 以获取win32-x64-57_binding.node。
所以,我决定运行一个预安装脚本来设置“SASS_BINARY_PATH”环境变量,但由于某种原因,“SASS_BINARY_PATH”需要一个完整的路径而不是相对路径。
请注意,当我使用 win32-x64-57_binding.node 的绝对路径设置“SASS_BINARY_PATH”时,我在命令提示符下工作。
我正在使用带有 npm 5.6.0 的 Node v 8.2.11
angular - 你如何调试 Angular 6 库
我正在编写一个 Angular 6 库,但无法弄清楚如何进入打字稿。
我使用以下方法生成了应用程序:ng new mylibapp
然后我使用以下方法添加了库:ng g library @abc/cool-lib -p abc
当我执行时:ng build @abc/cool-lib
mylibapp/dist/abc/cool-lib
它在文件夹中生成代码
我现在如何调试此代码并在位于的 ts 文件中设置断点mylibapp/projects/abc/cool-lib/src/lib
angular - 找不到工作区文件('angular.json')
我正在尝试运行我的角度应用程序,ng serve
但收到此错误:
我遵循了关于这个问题的建议错误:找不到本地工作区文件('angular.json') - 没有任何运气。
当我在全局范围内运行 ng -v
当我在项目文件夹中运行它时:
在项目文件夹上运行 npm install 时出现此错误:
angular - Angular Material2 use different theme (colors) for different builds/environments
I got an Angular6 app that uses the CLI and material2 with a custom theme. Now for another customer I want to use that same app, but with different colors. How can I do this? I don't want to maintain a second code base so it has to be something with the build and/or environment I think so?
My theme which is imported in styles.scss
:
angular - HMR 没有使用 Angular CLI 更新视图
我最近将我的 Angular 应用程序更新到了最新版本。经过一夜的错误噩梦之后,除了 HMR 之外,我一切都正常了。我严重坚持下去。以下是我根据 Angular CLI wiki 上的 HMR Story 的配置:
角.json
hmr.js
main.ts
我尝试了以下命令:
ng serve --hmr
ng serve --hmr --configuration hmr
ng serve --configuration hmr
一切都会在更改时编译,甚至触发的事件也会缓存在浏览器中,但在 HMR 记录以下内容后没有任何反应:
在这一点上,我完全迷失了。任何形式的帮助将不胜感激。谢谢
angular - 错误 TS2300:将我的代码移动到 Angular CLI 后标识符重复
我目前正在将我们的代码移动到 Angular CLI。这是一个混合应用程序,因此想法是将 Angular 部分移动到 CLI,因为 AngularJS 部分继续由自定义 Webpack 构建。请注意,应用程序(Angular 和 AngularJS 部分)都可以使用自定义 webpack 成功构建而不会出现任何错误。
现在我正在转向 Angular CLI,我得到了
错误 TS2300:重复标识符“xxxxx”
来自我们的类型定义文件 (.d.ts) 之一。此类型定义文件是从另一个应用程序生成的,并通过 npm 从我们内部的 npm 服务器获取。它确实具有多次声明的相同标识符,我们还使用 import 语句从 (.d.ts) 引用类型,例如:-
因此,我猜,即使我在排除 tsconfig 中指定了“node_modules”,.d.ts 文件也会被转译。
考虑到我无法更改 .d.ts 文件,还有其他方法可以消除此错误吗?为什么自定义 webpack 没有问题。