在构建角度cli时做错误做什么 - 内存不足问题

Vik*_*ram 2 build angular

什么"false"ng build --prod --aot false命令

我正在开发一个使用ng cli开发的角度4应用程序,因为它是一个企业解决方案,应用程序变得如此庞大,以至于服务和构建需要太多时间.我甚至得到了javascript内存问题,我开始使用以下命令来构建应用程序

ng build --prod --aot false
Run Code Online (Sandbox Code Playgroud)

但我不确定它是如何工作的

Fat*_*med 5

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,因此浏览器会非常快地加载它们


yur*_*zui 5

Angular-cli 的所有可用命令都可以在这里找到。

现在,当我们运行时,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 编译器更快地执行。