问题标签 [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.

0 投票
0 回答
215 浏览

angular - Angular 6 - 从工作区嵌入应用程序

我有一些微服务,每个都公开 UI 应用程序。这些微前端是一个完整的 Angular 6 应用程序,每个应用程序都包含自己的页面/组件/服务和路由。

我还有几个产品应用程序(也是 Angular 6),我想将这些微前端嵌入其中。

我希望主要产品能够路由到微前端内的页面,因为它是主要产品的一部分。

我不能使用任何包含 iframe 的解决方案。

是否可以使用 Angular 6 工作区来实现这一点?

0 投票
1 回答
418 浏览

angular - Angular 库在使用时未运行 ngOnInit

我正在按照 Angular CLI 6 说明在此处创建库。我能够制作我的库,并成功构建它。该库由Component我用于 UI 的一个和一个 HTML组成selector

现在我有一个单独的项目,我试图在其中使用这个库。我还没有发布它,所以我通过将它的内容复制dist/<my-lib>node_modules另一个项目的中来使用它。我以前使用npm link过,但遇到了这里描述的问题,这个解决方案对我有用。

我可以成功导入库并ModuleComponentHTML 文件中使用它的选择器,以及传递输入:<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:修复示例代码。

0 投票
4 回答
30481 浏览

angular - 如何关闭 Angular 6 ng 测试的源映射?

我正在尝试为我在 Angular 6 中的测试关闭源映射。我知道源映射开关已被删除,例如ng test --sourcemaps=false.

我尝试修改我的 tsconfig 文件:

正如 angular.json 测试 -> 配置块所引用的:

源地图仍在生成中。

0 投票
1 回答
502 浏览

angular - @angular-devkit/build-angular (nodeSassConfig) 无法通过 npm 下载

我已将“@angular-devkit/build-angular”添加为 devDependency,现在当我尝试运行 npm 时,我收到诸如“yp verb whichfailed 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

0 投票
5 回答
11355 浏览

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

0 投票
2 回答
1253 浏览

angular - 将哈希添加到 css 文件名

背景

  • 我有两个css文件-styles.mobile.css和styles.desktop.css
  • 顾名思义,我为移动和桌面视图使用了两个单独的 css
  • 我根据屏幕大小在 index.html 中动态注入 css
  • 显然我不能把它们放在styles.css
  • 我附上了文件夹结构截图

问题 当我运行 ng build --prod 时,有没有办法向styles.mobile.css 和styles.desktop.css 添加散列

检测设备和注入 css 的代码

在此处输入图像描述

0 投票
4 回答
9134 浏览

angular - 找不到工作区文件('angular.json')

我正在尝试运行我的角度应用程序,ng serve但收到此错误:

我遵循了关于这个问题的建议错误:找不到本地工作区文件('angular.json') - 没有任何运气。

当我在全局范围内运行 ng -v

当我在项目文件夹中运行它时:

在项目文件夹上运行 npm install 时出现此错误:

0 投票
2 回答
1154 浏览

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:

0 投票
4 回答
5866 浏览

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 记录以下内容后没有任何反应:

在这一点上,我完全迷失了。任何形式的帮助将不胜感激。谢谢

0 投票
1 回答
107 浏览

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 没有问题。