我使用的是Angular 4.4.6,并且在<script>
之外有app-root
个标记。看起来像这样
<script src="someUrlForQa"></script>
我想删除这个并包含
<script src="someUrlForProd"></script>
什么时候开始生产。
这样做的正确方法是什么?也许以某种方式使用angular-cli.json
?
答案 0 :(得分:1)
你可以使用普通的Javascript。
let el = document.createElement('script');
if(condition) {
el.src = 'someUrl';
}
else {
el.src = 'otherUrl';
}
document.head.append(el);
然而,与Angular风格指南相反,它与DOM直接交互。如果你在Angular中这样做,创建它的'Angular方式'将是注入并使用Renderer2
服务:
constructor(private _renderer: Renderer2) {}
public someMethod() {
let el = this._renderer.createElement('script');
el.src = 'conditionalUrl';
this._renderer.appendChild(el, this_renderer.selectRootElement('body'));
}
就 在Angular中执行此操作而言,您可以劫持APP_INITIALIZER
服务并提供您自己的初始化代码。查看this answer
了解更多信息。