Angular 5-使用所有prod功能构建测试系统

Angular 5-使用所有prod功能构建测试系统,angular,angular-cli,Angular,Angular Cli,也许答案非常简单,但我尝试了很多参数,似乎都不明白 Angular 5应用程序中有3个环境:DEV(我们的笔记本电脑)、TEST和PROD。到目前为止,我们还没有真正使用这些环境,这就是为什么直到现在才出现问题的原因 对于PROD,我们使用--PROD(它似乎是--configuration=production的缩写),一切都如预期的那样,bundle被创建和散列,等等。但对于测试来说,这似乎并没有发生,导致捆绑包名称未被更改,因此捆绑包在测试人员的浏览器上被兑现,从而导致各种奇怪的问题 那么

也许答案非常简单,但我尝试了很多参数,似乎都不明白

Angular 5应用程序中有3个环境:DEV(我们的笔记本电脑)、TEST和PROD。到目前为止,我们还没有真正使用这些环境,这就是为什么直到现在才出现问题的原因

对于PROD,我们使用--PROD(它似乎是--configuration=production的缩写),一切都如预期的那样,bundle被创建和散列,等等。但对于测试来说,这似乎并没有发生,导致捆绑包名称未被更改,因此捆绑包在测试人员的浏览器上被兑现,从而导致各种奇怪的问题

那么,如何使用prod/production之外的另一个配置文件进行全面生产构建呢

我试过“ng build--prod-env=test”之类的东西,但这似乎不行

我们现在使用的是Angular 5.2.11和CLI 1.6.8,目前无法进行更新(时间/预算限制)

提前感谢,, 马里奥


*编辑我现在发现--outputHashing=bundles做了我想要的,但我仍然不确定这一点。我的测试构建应该尽可能接近我的prod构建。这和——aot真的足以确保这一点吗?我发现这方面的文档有点缺乏——prod真正为您做了什么?如果它是设置一些其他属性的简写,那么确切地知道这个简写在引擎盖下设置了什么将非常有帮助

尝试将--aot添加到您的build命令中,因为这种不同风格的绑定是由提前构建完成的。每个默认的生产版本都是AOT版本。

起初我认为这是正确的,但这是因为其中仍然有--prod标志。不幸的是——aot似乎不负责绑定/散列