【发布时间】:2020-07-03 14:43:46
【问题描述】:
在我们由 Angular 8 构建的主要应用程序脚本之后,我们是否可以加载外部脚本,例如由 3rd 方网站提供的脚本?我们已经尝试将它们放在 index.html 的末尾,但在使用 ng -prod 构建后,它们仍在 main.js、polyfill.js 和其他应用程序脚本之前加载
【问题讨论】:
标签: javascript angular
在我们由 Angular 8 构建的主要应用程序脚本之后,我们是否可以加载外部脚本,例如由 3rd 方网站提供的脚本?我们已经尝试将它们放在 index.html 的末尾,但在使用 ng -prod 构建后,它们仍在 main.js、polyfill.js 和其他应用程序脚本之前加载
【问题讨论】:
标签: javascript angular
要在Angular App 完成初始化后加载外部脚本,您可以通过在DOM 中添加<script> 节点来“手动”添加它。
loadScript() {
const scriptElement = this.document.createElement('script');
scriptElement.src = 'https://....js';
scriptElement.type = 'text/javascript';
const headElements = this.document.getElementsByTagName('head');
headElements[0].appendChild(scriptElement);
}
然后您可以在component constructor 或您的app module constructor 中调用此方法:
app.module.ts:
export class AppModule {
constructor() {
this.loadScript();
}
loadScript() {
...
}
}
more details with [this tutorial][1].
[1]: http://www.lukasjakob.com/how-to-dynamically-load-external-scripts-in-angular/
【讨论】: