角度 2 系统导入问题



我有一段代码,可以很好地与SystemJS配合使用。现在我把我的角度 2 项目移到了 webpack 上,而 System.import 失败了。

有想法吗?谢谢!

private loadBundles(fullBundlesFilePath:any, callback?: any) {
        System.import(fullBundlesFilePath).then((bundles:any) => {
            bundles.forEach((bundleUrl:any) => this.loadBundle(bundleUrl, callback));
        });
    }

要加载的文件的内容是

module.exports = function () {
    return [
        '/explorerweb_bundles/login/manifest.js',
        '/explorerweb_bundles/printers/manifest.js' 
    ];
}() ;

无法传递变量以在 webpack 中导入。Webpack 需要在编译时知道要包含在捆绑包中的内容,并且由于它不进行程序流分析,因此它不知道要包含哪些模块。此外,导入不需要数组,而只需要一个模块。所以你需要手动完成,就像这样:

System.import('/explorerweb_bundles/login/manifest.js').then(module => /*...*/);
System.import('/explorerweb_bundles/printers/manifest.js').then(module => /*...*/);

在旁注中,System.import被弃用以支持import()

最新更新