如何在生产构建设置和启用 AOT 的情况下运行 angular cli ng 测试

Posted

技术标签:

【中文标题】如何在生产构建设置和启用 AOT 的情况下运行 angular cli ng 测试【英文标题】:How to run angular cli ng test with production build settings and AOT enabled 【发布时间】:2018-01-20 09:43:07 【问题描述】:

有没有办法使用命令 ng test 运行 angular cli 测试,告诉下划线编译器使用 ng build --prod 设置?

我问是因为这里经常遇到ng build --prod 遇到的 aot 编译错误,而 正常编译不会发生 ng build

【问题讨论】:

有什么线索吗?我认为这是非常重要的一点。 【参考方案1】:

这是不可能的,我认为这是因为测试架构师的目标是它自己的构建配置。支持资产、脚本和样式等选项,但不支持通常与生产相关的选项,例如 AOT。这是因为编译团队considers the feature to be experimental。有feature request支持AOT。

要创建生产配置,请将其添加到测试目标。

"test": 
  "builder: "@angular-devkit/build-angular:karma",
  "options": 
    ...
  ,
  "configurations": 
    "production": 
      ...
    
  

【讨论】:

【参考方案2】:

你试过ng build --aot吗?

https://angular.io/guide/aot-compiler

要使用生产设置进行测试,您可以使用 ng test --environment=prod

【讨论】:

问题是添加 --environment=prod 不会触发 --prod 标志触发的内容,尤其是缩小(这是我的主要麻烦来源)。我真的很想知道如何实际测试真正的产品构建。

以上是关于如何在生产构建设置和启用 AOT 的情况下运行 angular cli ng 测试的主要内容,如果未能解决你的问题,请参考以下文章

为啥在启用 AOT 编译的情况下没有为 blazor webbasesembly 生成 .wasm 文件?

Angular-cli aot 构建在生产模式下失败

如何在 aps-environment 设置为“生产”的情况下运行我的 iOS 应用程序(Xcode 6)?

无法使用AOT运行{N}应用程序,Reflect.getMetadata不是一个函数

如何在不缩小的情况下构建 React 的生产版本?

如何在生产中为 Docs 插件的 React Storybook 启用 prop-types