我的项目中有很多JS文件.我想在特定模块或组件加载时加载它们,而不是在应用程序启动时加载.
怎么做?
目前,我正在加载index.html
个.另一种方法是将它们添加到angular-cli.json
中.但这两种方式都会在启动时加载JS文件.但是,我需要在特定页面或模块运行时加载它们.
我的项目中有很多JS文件.我想在特定模块或组件加载时加载它们,而不是在应用程序启动时加载.
怎么做?
目前,我正在加载index.html
个.另一种方法是将它们添加到angular-cli.json
中.但这两种方式都会在启动时加载JS文件.但是,我需要在特定页面或模块运行时加载它们.
只需编写一个普通的脚本加载器:
public loadScript() {
let body = <HTMLDivElement> document.body;
let script = document.createElement('script');
script.innerHTML = '';
script.src = 'url';
script.async = true;
script.defer = true;
body.appendChild(script);
}
然后在你想叫的地方叫它:
export class MyComponent{
ngOnInit(){
this.loadScript();
}
}
但如果这些文件是Typescript文件,您也可以通过多种方式延迟加载它们:
1-使用默认的模块级延迟加载
2-使用webpack的require
3.使用SystemJs模块加载器