Angular CLI - ng build 命令

本章通过示例解释了 ng build 命令的语法、参数和选项。


语法

ng build 命令语法如下 −

ng build <project> [options]
ng b <project> [options]

ng build 命令将 Angular 应用程序/库编译到给定路径下名为 dist 的输出目录中。


参数

ng build 命令参数如下 −

序号 参数 & 语法 说明
1 <project> 要构建的应用程序或库的名称。

选项

Options 是可选参数。

序号 选项 & 语法 说明
1 --aot=true|false

使用提前编译进行构建。

默认值: false。

2 --baseHref=baseHref 正在构建的应用程序的基本 URL。
3 --buildEventLog=buildEventLog 构建事件协议事件的实验输出文件路径。
4 --buildOptimizer=true|false

使用"aot"选项时启用"@angular-devkit/build-optimizer"优化。

默认值: false。

5 --commonChunk=true|false

使用包含跨多个包使用的代码的单独包。

默认值: false。

6 --configuration=configuration

命名的构建目标,如 angular.json 的"配置"部分中所指定。 每个命名目标都附有该目标的选项默认配置。 显式设置此选项会覆盖"--prod"标志。

别名: -c.

7 --crossOrigin=none|anonymous|use-credentials

定义提供 CORS 支持的元素的跨域属性设置。

默认值:none

8 --deleteOutputPath=true|false

构建前删除输出路径。

默认值:true。

9 --deployUrl=deployUrl 将部署文件的 URL。
10 --experimentalRollupPass=true|false

在使用 Webpack 捆绑模块之前,使用 Rollup 连接模块。

默认值: false。

11 --extractCss=true|false

将全局样式中的 css 提取到 css 文件中,而不是 js 文件中。

默认值: false。

12 --extractLicenses=true|false

将所有许可证提取到一个单独的文件中。

默认值: false。

13 --forkTypeChecker=true|false

在分叉进程中运行 TypeScript 类型检查器。

默认值:true。

14 --help=true|false|json|JSON

在控制台中显示此命令的帮助消息。

默认值: false。

15 --i18nMissingTranslation=warning|error|ignore

如何处理 i18n 缺失的翻译。

默认值:warning

16 --index=index 配置应用程序 HTML 索引的生成。
17 --localize=true|false  
18 --main=main 应用程序主入口点相对于当前工作区的完整路径。
19 --namedChunks=true|false

使用延迟加载块的文件名。

默认值:true。

20 --ngswConfigPath=ngswConfigPath ngsw-config.json 的路径。
21 --optimization=true|false 启用构建输出的优化。
22 --outputHashing=none|all|media|bundles

定义输出文件名缓存清除哈希模式。

默认值:none

23 --outputPath=outputPath 新输出目录相对于当前工作空间的完整路径。 默认情况下,将输出写入当前项目中名为 dist/ 的文件夹。
24 --poll 启用并定义文件监视轮询时间段(以毫秒为单位)。
25 --polyfills=polyfills polyfills 文件相对于当前工作空间的完整路径。
26 --preserveSymlinks=true|false

解析模块时不要使用真实路径。

默认值: false。

27 --prod=true|false “--configuration=Production”的简写。 如果为 true,则将构建配置设置为生产目标。 默认情况下,生产目标是在工作区配置中设置的。
28 --progress=true|false

构建时将进度记录到控制台。

默认值:true。

27 --resourcesOutputPath=resourcesOutputPath 样式资源放置的路径,相对于outputPath。
28 --serviceWorker=true|false

为生产构建生成服务工作线程配置。

默认值: false。

29 --showCircularDependencies=true|false

在构建上显示循环依赖警告。

默认值:true。

30 --sourceMap=true|false

输出 sourceMap。

默认值:true。

31 --statsJson=true|false

生成一个"stats.json"文件,可以使用"webpack-bundle-analyzer"等工具进行分析。

默认值: false。

32 --subresourceIntegrity=true|false

启用子资源完整性验证。

默认值: false。

33 --tsConfig=tsConfig TypeScript 配置文件相对于当前工作区的完整路径。
34 --vendorChunk=true|false

使用仅包含 vendor 库的单独捆绑包。

默认值:true。

35 --verbose=true|false

向输出日志记录添加更多详细信息。

默认值:true。

36 --watch=true|false

当文件更改时运行构建。

默认值: false。

37 --webWorkerTsConfig=webWorkerTsConfig Web Worker 模块的 TypeScript 配置。

首先,移动到使用 nggenerate 命令更新的 Angular 项目。 将 app.component.html 的内容替换为以下内容,然后运行命令。 本章可在 https://www.w3ccoo.com/angular_cli/angular_cli_ng_generate.html 处找到。

<app-goals></app-goals>
<router-outlet></router-outlet>

示例

下面给出了 ng build 命令的示例 −

\>Node\>TutorialsPoint> ng build
Compiling @angular/animations : es2015 as esm2015
Compiling @angular/core : es2015 as esm2015
Compiling @angular/compiler/testing : es2015 as esm2015
Compiling @angular/animations/browser : es2015 as esm2015
Compiling @angular/core/testing : es2015 as esm2015
Compiling @angular/common : es2015 as esm2015
Compiling @angular/platform-browser : es2015 as esm2015
Compiling @angular/common/http : es2015 as esm2015
Compiling @angular/common/testing : es2015 as esm2015
Compiling @angular/platform-browser-dynamic : es2015 as esm2015
Compiling @angular/platform-browser/testing : es2015 as esm2015
Compiling @angular/router : es2015 as esm2015
Compiling @angular/animations/browser/testing : es2015 as esm2015
Compiling @angular/common/http/testing : es2015 as esm2015
Compiling @angular/forms : es2015 as esm2015
Compiling @angular/platform-browser/animations : es2015 as esm2015
Compiling @angular/platform-browser-dynamic/testing : es2015 as esm2015
Compiling @angular/router/testing : es2015 as esm2015
Generating ES5 bundles for differential loading...
ES5 bundle generation complete.
chunk {polyfills} polyfills-es2015.js, polyfills-es2015.js.map (polyfills) 141 kB [initial] [rendered]
chunk {runtime} runtime-es2015.js, runtime-es2015.js.map (runtime) 6.16 kB [entry] [rendered]
chunk {runtime} runtime-es5.js, runtime-es5.js.map (runtime) 6.16 kB [entry] [rendered]
chunk {styles} styles-es2015.js, styles-es2015.js.map (styles) 12.4 kB [initial] [rendered]
chunk {styles} styles-es5.js, styles-es5.js.map (styles) 13.9 kB [initial] [rendered]
chunk {main} main-es2015.js, main-es2015.js.map (main) 61.4 kB [initial] [rendered]
chunk {main} main-es5.js, main-es5.js.map (main) 65 kB [initial] [rendered]
chunk {polyfills-es5} polyfills-es5.js, polyfills-es5.js.map (polyfills-es5) 656 kB [initial] [rendered]
chunk {vendor} vendor-es2015.js, vendor-es2015.js.map (vendor) 2.67 MB [initial] [rendered]
chunk {vendor} vendor-es5.js, vendor-es5.js.map (vendor) 3.11 MB [initial] [rendered]
Date: 2020-06-04T01:31:35.612Z - Hash: d5fd9371cdc40ae353bc - Time: 210494ms

这里 ng build 命令已成功构建我们的项目 TutorialsPoint。