问题标签 [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 回答
29 浏览

angular - ng build后如何使用所需的功能?

我在资产文件夹中使用一个 file.json 和我的后端地址 file.json

然后通过一个函数,我从 json 中获取值:

但是当我通过值构建项目时ng build --prod是静态的。

我正在寻找一种更改生产后端地址的方法

0 投票
0 回答
83 浏览

angular - Angular:加载站点导致重定向错误

我已经构建了我的 Angular 项目并将 dist 文件夹发送到另一台计算机。然后我尝试按照这个答案运行它。
我有这个: 在此处输入图像描述 但是当转到指定的地址或本地主机时,它会给出无效的重定向错误,并且没有加载任何页面。

更新

索引.html:

我只是这样做ng build,然后按照上面链接答案中提供的说明进行操作。

编辑
我试过设置

在 dist 的 index.html 中但没有工作。

0 投票
5 回答
7109 浏览

angular7 - 未找到 Angular 7 prod 构建 i18n 文件

我正在尝试在 /dist/assets 文件夹中部署一个使用 ngx-translate 和翻译语言文件的 Angular 7 应用程序。我在构建中指定了正确的基本 href。部署后,我看到所有内容都加载了,除了返回错误代码 404(未找到)的语言文件。

我试过用几种不同的方式改变 angular.json 文件。我尝试更改 TranslateHttpLoader。似乎没有任何工作。我可以在 /dist 文件夹中看到包含所有语言文件的 i18n 文件夹。但是它没有被引用。

在 app.module.ts

在 angular.json

但我最终在浏览器中收到此错误:

/assets/i18n/en.json 404 未找到

任何帮助,将不胜感激!

0 投票
1 回答
2889 浏览

angular - ng build 文件替换中的..\src\environments\environment.dev.ts 路径不存在

我正在尝试这样做,ng build --configuration=development但它给出了以下错误:

文件替换中的 C:\Users\Marina\Desktop\heliosFrontEnd_admin\src\environments\environment.dev.ts 路径不存在。错误:文件替换中的 C:\Users\Marina\Desktop\heliosFrontEnd_admin\src\environments\environment.dev.ts 路径不存在。在 Object.normalizeFileReplacements (C:\Users\Marina\Desktop\heliosFrontEnd_admin\node_modules@angular-devkit\build-angular\src\utils\normalize-file-replacements.js:25:19) 在 Object.normalizeBuilderSchema (C:\ Users\Marina\Desktop\heliosFrontEnd_admin\node_modules@angular-devkit\build-angular\src\utils\normalize-builder-schema.js:37:97) 在 BrowserBuilder.run (C:\Users\Marina\Desktop\heliosFrontEnd_admin\ node_modules@angular-devkit\build-angular\src\browser\index.js:31:33) 在 MergeMapSubscriber.getBuilderDescription.pipe.operators_1.concatMap。

在我的angular.json文件中,我有

我检查了路径,它是正确的,文件在那里。怎么了?

0 投票
2 回答
743 浏览

angular - 无法运行 Angular 站点,因为我的 angular.json 文件路径与 ng build 创建的不匹配

Angular 的新手,在运行 ng build 后,我看到它在我定义的文件夹中创建的所有文件。

在我正在构建的 Angular.json 文件中

“输出路径”:“../DatingApp.API/wwwroot”

但 Angular.json 文件的其余部分似乎与构建的文件不匹配。

这意味着,基于文件中的路径,在 wwwroot 中构建的所有文件似乎都没有我的 Angular.json 文件需要/预期的相同文件夹结构。

这是构建的内容,您可以看到它是一个包含所有文件的文件夹。我的 angular.json 文件正在寻找子文件夹中的文件,例如。“src/...”

为什么会出现不匹配以及解决此问题的正确方法是什么?我应该修改 Angular.json 文件中的所有路径以指向正确的构建文件吗?或者是否存在其他版本不匹配的问题,或者可以通过更新 npm 包来纠正的问题。

在此处输入图像描述

Angular.json 文件

0 投票
0 回答
547 浏览

angular - 如何从 /dist 恢复原始源代码以获取已发布的 Angular 库

我正在使用一些内部 Angular 库,这些库发布在公司的本地 npm 存储库上。还维护了一个代码库,但我注意到最新发布的版本没有签入最新代码。(设置不好)

我正在研究从这些库的 node_modules 中恢复原始代码的可能性。我只能看到声明文件 (.d.ts) 和一堆 .js

有什么标准方法可以恢复原始代码吗?

我可以通过引用 js 中的代码来恢复一些库,但是一些库代码库很大,我想避免手动任务和错误。

0 投票
7 回答
15297 浏览

angular - Angular 8 ng-build 使用科尔多瓦抛出 MIME 错误

在执行ng build --prod --base-href ./来构建我的科尔多瓦应用程序时,最终输出会引发如下错误。

加载模块脚本失败:服务器以非 JavaScript MIME 类型“”响应。根据 HTML 规范对模块脚本强制执行严格的 MIME 类型检查。

我最终通过将 type 模块更改为 text/javascript 来解决这个问题

src="runtime-es2015.858f8dd898b75fe86926.js" type="module">

src="runtime-es2015.858f8dd898b75fe86926.js" type="text/javascript">

有没有可以在 angular.json 文件中修复的东西,或者我在这里遗漏了什么?

0 投票
0 回答
178 浏览

angular - 角度警报模块构建不起作用

"angular-alert-module": "^2.0.3"

angular 7build 在版本中不适用于此模块

出现以下错误

./node_modules/angular-alert-module/alerts.ngfactory.js 中的错误模块未找到:错误:无法解析“C:\Users\tcd03\Desktop\yalloh\node_modules\angular-alert-module 中的“警报” ' ./src/app/app.module.ngfactory.js 中的错误 找不到模块:错误:无法解析 'C:\Users\tcd03\Desktop\yalloh\src\app' 中的 'alerts' ./ src/app/app.component.ngfactory.js 未找到模块:错误:无法解析“C:\Users\tcd03\Desktop\yalloh\src\app”中的“警报”

谁能帮帮我吗

提前致谢

0 投票
3 回答
1291 浏览

angular - 无法绑定到“种类”,因为它不是“ngx-fs-icon”的已知属性

我正在使用 Akveo/ngx-admin 模板。我已经创建了一些我自己的模块并在其中,然后尝试在其上运行生产构建,但它给了我一些错误。所以我必须创建一个共享模块,并将所有模块放在共享模块的导入中,几乎所有错误都消失了,但这个错误。

错误:无法绑定到“种类”,因为它不是“ngx-fs-icon”的已知属性。1. 如果 'ngx-fs-icon' 是一个 Angular 组件并且它有 'kind' 输入,那么验证它是这个模块的一部分。2. 如果“ngx-fs-icon”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。

ngx-fs-icon 组件tree-grid.component.ts默认在文件内部

treegrid 组件是在表格模块内制作的,我在 SharedModule 的导入中添加了 TablesModule。

表.module.ts

shared.module.ts 文件

0 投票
0 回答
520 浏览

angular - Angular 7:构建应用程序,外部配置被排除在包之外

这可能是一个熟悉的话题App.settings - Angular 方式?但是,经过一天的研究,我找不到令人满意的解决方案,因此我在这里问这个问题。

目标是构建一个应用程序,并通过可配置的配置文件部署多次。这对于 QA 和应用程序支持团队来说很方便。

问题是, ng build 正在将配置文件内化到最终包中。

我的问题实际上很简单,是否可以在不使用环境模块自定义配置服务从 ng cli 中弹出(A7 中不允许)的情况下使用angular cli实现我的目标?

我想在\src\assets\config\文件夹中有应用程序config.js文件,它充当一个简单的模块。

配置.js

我在需要访问 apiUrl 属性的角度组件中使用这个模块,比如说

app.component.ts

运行构建(用于产品)将始终导致 config.js 文件内容包含在包中,这是我想避免的。

我想避免

  • 使用环境文件。这是反模式
  • 使用获取配置文件的服务。这是一个相对不错的解决方案,但现在让我们认为这是一个不可行的选择
  • ng 弹出(A7 中不允许)

我试过的

  • 导入json而不是模块。仍然包含在捆绑包中。
  • 将配置模块文件夹添加到tsconfig.app.json的排除部分。不管我放什么,它仍然会被内化。

我知道这可以做到(使用弹出或自定义 cli 构建)

因为我看过一个 REACT 项目,所以它已经从 create-react-app cli 弹出到 webpack 中。构建的作用是:

  • 使用 CopyWebPackPlugin 将配置文件原样复制到dest构建中
  • 使用 HtmlWebpackIncludeAssetsPlugin 将配置模块文件 (*.config.js) 包含在 index.html 中,就像<script src=...>每个配置文件一样。
  • 设置外部数组https://webpack.js.org/configuration/externals/

有没有人做过我想要实现的事情?谢谢!