什么"false"在ng build --prod --aot false命令
我正在开发一个使用ng cli开发的角度4应用程序,因为它是一个企业解决方案,应用程序变得如此庞大,以至于服务和构建需要太多时间.我甚至得到了javascript内存问题,我开始使用以下命令来构建应用程序
ng build --prod --aot false
Run Code Online (Sandbox Code Playgroud)
但我不确定它是如何工作的
AOT 对于生产版本默认为 true,如果您想停用,您可以使用:
ng build prod --no-aot
Run Code Online (Sandbox Code Playgroud)
或者
ng build prod --aot=false
Run Code Online (Sandbox Code Playgroud)
但是使用 AOT 会在提供模板之前将它们编译为 js,因此浏览器会非常快地加载它们
现在,当我们运行时,ng build --prod这意味着我们为应用程序指定了目标:
{
name: 'target',
type: String,
default: 'development',
aliases: ['t', { 'dev': 'development' }, { 'prod': 'production' }],
description: 'Defines the build target.'
},
Run Code Online (Sandbox Code Playgroud)
然后 Angular-cli根据指定的目标设置默认选项(Angular-cli@1.4.x ):
{
name: 'target',
type: String,
default: 'development',
aliases: ['t', { 'dev': 'development' }, { 'prod': 'production' }],
description: 'Defines the build target.'
},
Run Code Online (Sandbox Code Playgroud)
也可以在文档中找到
添加时,--aot false您会覆盖默认aot选项。于是就变成了false。
如果您在 aot 构建方面遇到问题,那么有一些线程可以解决常见解决方案正在运行的构建,例如:
包.json
// Fill in defaults for build targets
public addTargetDefaults(buildOptions: T): T {
const targetDefaults: { [target: string]: Partial<BuildOptions> } = {
development: {
environment: 'dev',
outputHashing: 'media',
sourcemaps: true,
extractCss: false,
namedChunks: true,
aot: false
},
production: {
environment: 'prod',
outputHashing: 'all',
sourcemaps: false,
extractCss: true,
namedChunks: false,
aot: true
}
};
Run Code Online (Sandbox Code Playgroud)
但除此之外,我更喜欢做一些重构代码来减少应用程序的大小并帮助 aot 编译器更快地执行。
| 归档时间: |
|
| 查看次数: |
10480 次 |
| 最近记录: |