【问题标题】:Angular-CLI v6: --no-aot build option equivalentAngular-CLI v6:--no-aot 构建选项等效
【发布时间】:2018-11-28 22:31:57
【问题描述】:

我最近从 Angular v5.2.4 与 Angular-CLI v1.7.4 合作升级到 Angular v6.0.3 与 Angular-CLI v6.0.8 合作。

由于使用动态组件,我的项目需要 JIT 编译器。因此,我的构建脚本曾经是:ng build --prod --no-aot。

我需要继续使用--prod 标志来保留摇树、代码缩小和死代码消除的好处。但是,默认情况下 --prod 启用 AOT。 --no-aot 选项曾经是禁用 AOT 的解决方案,但仍然可以获得 --prod 构建的好处。

我尝试了以下选项,如您所见,没有任何构建成功(标准 --prod 构建除外)。我也没有从 CLI 得到任何信息,这也不是很有帮助:

我已经阅读了Official Angular Deployment Docs 和Official Angular-CLI build Wiki 并没有找到任何信息来帮助解决这个问题。

有谁知道 --no-aot 选项的替代品是什么,或者在禁用 AOT 的同时进行 --prod 构建的新方法?

【问题讨论】:

  • --aot=false --build-optimizer=false 应该这样做
  • 确实 --aot false 已经是这样做的方法,--no-aot 也没有记录在旧版本中:github.com/angular/angular-cli/wiki/1-x-build。
  • 未测试,但编辑您的 angular.json 文件,并在 projects/your-project/achitect/build/configurations/production 下将 aot=true 替换为 aot=false 应该可以。你只需要使用 ng build --prod。
  • --aot=false --build-optimizer=false 的组合确实有效。但是,我喜欢在 angular.json 中禁用 AOT 并删除附加选项的想法。我现在也会测试一下。
  • 你的建议也有效,@JBNizet(部分有效)!在angular.json 中,我更改了aot=false 和"buildOptimizer": false,就像@R.Richards 在他的评论中提到的那样。有了这个组合,我现在可以成功地执行ng build --prod 并获得与ng build --prod --aot=false --build-optimizer=false 相同的结果

标签: angular angular-cli angular-cli-v6


【解决方案1】:

要从命令行执行此操作,请使用以下选项以及 --prod 选项。

--aot=false --build-optimizer=false

完整的命令:

ng b --prod --aot=false --build-optimizer=false

如果您不想每次都在命令行上执行此操作,您可以在 angular.json 中更改生产构建选项。

在文件中的以下路径

projects/your-project/achitect/build/configurations/production

将aot 和buildOptimizer 选项更改为false。然后,您可以简单地从命令行运行ng b --prod,您将获得一个不包含aot 和build-optimizer 选项的生产版本。

--prod 构建选项已弃用。下面在更新的命令中。

ng b -c production --aot=false --build-optimizer=false

【讨论】:

    【解决方案2】:

    你可以试试这个:

    ng build --prod --aot=false --build-optimizer=false
    

    【讨论】:

      【解决方案3】:

      在 .npmrc 文件中

      legacy-peer-deps = true
      

      命令提示符

      npm install 
      

      或者

      npm config set legacy-peer-deps true
      npm install
      

      【讨论】:

        猜你喜欢
        • 2018-10-19
        • 1970-01-01
        • 2017-11-23
        • 1970-01-01
        • 2017-10-22
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        • 2020-03-16
        相关资源
        最近更新 更多