外部脚本文件中的角延迟加载模块

时间:2020-03-04 10:43:38

标签: javascript angular angular2-routing

我要实现的目的是在CLI工作区中的多个应用程序项目中分解我的应用程序,并独立构建它们并将其模块加载到主应用程序中。

到目前为止,我一直在尝试以下操作,但是我找不到从加载的脚本返回模块的方法。

const appRoutes: Routes = [
    {
        path: 'something',
        loadChildren: () => loadDynamicScript('something.js').then((m: any) => {
            return m.SomethingModule;
        })
    },

];
function loadDynamicScript(src): Promise<any> {
    return new Promise((resolve, reject) => {
        const scriptElement = window.document.createElement('script');
        scriptElement.src = src;
        scriptElement.charset = 'utf-8';

        scriptElement.onload = () => {
            resolve(scriptElement);
        };

        scriptElement.onerror = () => {
            reject();
        };

        window.document.body.appendChild(scriptElement);
    });
}

有什么想法吗?

0 个答案:

没有答案