Angular 更新页面布局<;头>;基于角度prod模式 脚本

Angular 更新页面布局<;头>;基于角度prod模式 脚本,angular,angular-cli,Angular,Angular Cli,我需要在页面布局的顶部添加一个分析脚本标签。脚本需要根据我们是在产品开发还是在开发而有所不同,这样我们就不会用QA测试破坏生产分析 我读到现在的分析标签不一定再需要放在中了。通常情况下,这会很好,但在这个项目中,如果有任何问题,客户发现我们没有遵循文档,我们将因没有正确实施而受到责备。因此,我不能等到客户端angular加载完毕后才检查环境变量,以便使用js进行切换,因为那太晚了。我需要在浏览器加载页面之前的构建步骤中完成此操作 临时解决办法 我的临时解决方案是创建第二个index.html(i

我需要在页面布局的
顶部添加一个分析脚本标签。脚本需要根据我们是在产品开发还是在开发而有所不同,这样我们就不会用QA测试破坏生产分析

我读到现在的分析标签不一定再需要放在
中了。通常情况下,这会很好,但在这个项目中,如果有任何问题,客户发现我们没有遵循文档,我们将因没有正确实施而受到责备。因此,我不能等到客户端angular加载完毕后才检查环境变量,以便使用js进行切换,因为那太晚了。我需要在浏览器加载页面之前的构建步骤中完成此操作

临时解决办法 我的临时解决方案是创建第二个index.html(index-dev.html),并在angular-cli.json文件中使用第二个应用程序来使用这个新文件。这看起来类似于

"apps": [
{
  "name": "myApp",
  "index": "index-prod.html"
   ...
},
{
  "name": "myApp-dev",
  "index": "index-dev.html"
   ...
}]
然后,当我为dev构建时,我会运行

ng build --app=myApp-dev
和prod

ng build --prod
我不喜欢这个解决方案,因为

  • 它添加了两个索引文件,以便在需要更改时进行维护
  • 我现在有两个“应用程序”,而实际上我只需要一个,更多的东西来记录,以及今后出错的机会等等
  • 如果我让另一个开发人员升级,他们在这个场景中运行
    ng build
    ,他们将获得生产分析脚本。我可以切换阵列中应用程序的顺序,以便默认情况下构建dev,但现在我所处的情况是,
    ng build--prod
    正在使用开发分析脚本构建
  • 主要问题
  • 是否有一种方法可以标记索引文件中的
    元素,并根据环境交换该元素
  • 如果不可能使用#1,是否有办法让angular cli(或webpack或其他工具)处理使用--prod参数显示的索引文件?e、 g.
    ng build
    将提供index-dev.html,而
    ng build--prod
    将提供index-prod.html