问题标签 [ng-build]

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 投票
1 回答
2214 浏览

angular - 同时运行 ng build --watch 和 ng serve 时,Angular 7 库 html-template 更改不会影响到应用程序

Angular 7 库 html 模板更改在使用“ng build library --watch”和“ng serve application”在不同 cmd 中同时运行时不会影响到 Angular 应用程序。

所以我首先打开带有 watch 标志的库,然后我使用 ng serve 启动应用程序。将库更改为 ts 文件将在应用程序上启动 HMR,并且更改会受到正确影响。但是当我更改某些组件 html 或 css 文件时,HMR 会检测到更改并开始更新应用程序,但在 UI 中看不到更改。如果我停止 ng serve 并重新启动它,那么这些 html 和 css 更改会影响到 UI。

我检查了更改是否会影响到库构建将输出文件的 dist 目录。因此,即使它注意到它们,ng serve 也不会以某种方式接受它们。

我使用 tsconfig.json 路径引用库。因为我的应用程序的 baseUrl 是 src 我需要在这样的配置中使用 ../

我在部署路径中使用@,因为我需要从库中导入 scss 文件。如果我从 npm 安装这个包,这种方式导入路径是相同的。因此,我正在寻找的配置是通过使用 --watch 模式来简化库开发。

软件包版本

编辑:Angular cli github repo https://github.com/angular/angular-cli/issues/13588已经报告了这个问题所以它是cli中的错误。

0 投票
1 回答
1966 浏览

angular - Angular CLI 没有将资产文件夹复制到 dist

我有一个带有自定义构建系统的 Angular 4 应用程序。我正在尝试使用ng-cli. 但是,我无法获取将ng build文件src/assets夹复制到dist.

这是我的angular.json文件的相关部分:

我的资产文件夹也不为空

资产文件夹

我有一个 css 文件,它引用了 中的一些文件assets/fonts/,因此 CLI 只是将这些文件放在文件夹的根目录中,dist不是复制其他文件。dist/assets

也在这里回复答案:

本来就是"src/assets"。那没有用。所以我尝试了,"./src/assets"但也没有用。

0 投票
2 回答
2194 浏览

angular - Angular 7 应用程序部署 ng build 不理解 --target 或 --environment

我正在将 Angular 应用程序部署到 Netlify。这个应用程序已经部署了很多次,并且没有出现任何问题。最近,在添加新功能的同时,我将应用程序从 Angular 5 升级到 7,并升级了许多依赖项。现在构建失败了,信息很少。

在 Netlify 上,我使用的构建命令是: ng build --target=development --environment=stagingfor dev 和 ng build --target=production --environment=prodfor prod。

Netlify 上的日志是:

我注意到了,--target=并且--environment=没有被处理。在过去成功的部署日志中,这些选项工作得很好。所以我假设部署问题与此有关。

任何人都可以提供一些指导吗?

谢谢你。

0 投票
0 回答
33 浏览

angular7 - 找不到生成构建的文件夹

E:\Project1\gui> ng build --configuration=staging --output-path=\"artifacts\"

当我运行上述行时,有人可以告诉我在哪里创建构建吗?

0 投票
1 回答
1378 浏览

angular - Angular 库无法在包中包含第三方库

我的要求是创建具有自己视图的库,并且根据用户的配置,该库将从 AWS S3 Bucket 获取并包含在运行时的最终应用程序中。 请参阅此示例。我可以dist/library/bundles/library.lib.umd.js在主应用程序中添加并将其显示给用户。但是当我尝试使用uuid,moment或之类的第三方库时ng2-dragula,该ng build命令在最终包中不包含任何第三方库。我收到警告

在构建projects/library存在显示的库和我的应用程序时

我想要在最终包中包含我使用的任何第三方库,因为我无法在运行时安装/导入它们。我努力了

按照这里package.json的建议和

在我这里ng-package.json建议。这是我的环境信息

请帮忙。如果有不同的方式在应用程序的运行时加载第三方库,也请提出建议。

0 投票
1 回答
190 浏览

asp.net-mvc - Angular 7 CLI 构建:如何省略模板才能使用 MVC 视图?

我正在评估最新的 Angular (7+) 和 CLI。我已经完成了“英雄之旅”教程的一部分。我可以运行“ng build”来获取生产位。

然而,一个重要的必要条件是对组件模板使用 MVC 视图。

所以而不是

模板网址:'./app.component.html'

我想用

templateUrl: '/模板/索引'

出于各种原因(翻译的模板就是其中之一)。我确实明白这不是“纯粹的”Angular 做事方式。

使用此代码,“ng build”不再起作用:

./src/app/app.component.ts 中的错误

未找到模块:错误:无法解析 'D:\Angular\TourOfHeroes\TourOfHeroes\src\app' 中的 './/Template/Index'

我已经搜索了几个小时如何省略构建模板,但我找不到答案。ng 弹出已被贬低。它引导我使用 ngx-build-plus,但我不明白这对我有什么帮助。

我应该采取哪些步骤才能使其正常工作?

编辑:

问题如何在 Angular 2 中使用 MVC 视图 (*.cshtml) 作为模板?不相关。我知道如何在 Angular 中使用 MVC 视图。我不知道如何告诉“ng build”省略这些模板(因为它们根本不是静态的)。

0 投票
4 回答
5821 浏览

angular - 未知选项:'--target',未知选项:'--environment';在尝试在 prod 中构建 ng 应用程序时

尝试在 prod 模式下构建 Angular 应用程序,但发现未知目标和环境错误。

尝试以下:

我期望构建文件,如 main.js、vendor.js 等。输出是:

0 投票
1 回答
1684 浏览

angular - 来自 Terser 无效分配的 scrips.xxx.js 中的错误

我在角度 7.2.13。在命令“ng build --prod”之后我得到一个错误:

来自 Terser
无效分配的 scripts.5f11b62514f5238edd2a.js 中的错误 [scripts.5f11b62514f5238edd2a.js:21,32]

我已经尝试在 package.json 中将 terser 更改为 3.14.1,因为其他线程说要做或通过 npm 安装 terser。我还尝试安装 terser 版本 3.16.1,因为线程说它解决了来自 terser 的错误。

但这些都不起作用......

这只是我尝试的一个例子:

包.json:

包锁.json:

我想构建我的应用程序,但我不能因为这个错误......

0 投票
1 回答
32 浏览

angular - 将同一个文件中的不同对象导出到不同的 NgModules

背景:

我正在开发一个将利用 Angular 的延迟加载机制的应用程序(我使用的是 7.2.0)。我有几个feature-routing.module.ts处理所述延迟加载模块的路由。

另一方面,AppModule我想使用这里描述的模式;也就是说,从另一个导出(js)配置片段的文件(而不是创建许多不必要的路由模块-每个子路由没有特殊的提供者或服务-)导入路由数组的一部分(js方式)。

问题: 如果我将应用程序的路由配置部分与延迟加载模块的路由模块有关的功能放在同一个文件中,从捆绑的角度会发生什么?

该文件导出了一个仅由延迟加载功能模块使用的路由模块,同时它还导出了一些仅由 app-routing 模块使用的 const。那么整个文件(因此包括功能路由模块和其他对象)是否会被捆绑两次:一次进入应用程序模块,一次进入功能?还是会ng build聪明到只将 const 与 app 模块捆绑一次,并且只将功能路由模块与功能模块捆绑一次?

在我看来这是一个好主意,因为特定功能的所有路由问题都将在一个文件中,并且任何相关模块都会从那里使用它。我拼命地试图减少我的文件数量,因为它已经失控了。

例如用户路由.module.ts:

0 投票
0 回答
322 浏览

angular - 如何使用 `ng build --watch=true` 将所有 JS/CSS 内联到 html 中

我正在构建需要将 JS/CSS 内联到单个独立output.html文件中的 webview 移动应用程序。

我的应用程序基于 Angular,并且对于我正在运行的每个新构建ng-build && html-inlineng buildhtml-inline),使用内联脚本/样式生成的 cli 命令output.html- 正是我需要的,但每次都需要手动重建。

我想使用ng build --watch=true它来监视更改-如何output.html在触发的每个 ng 构建上实现 js/css 重新内联?