webpack 4动态导入远程模块

时间:2018-04-29 14:46:12

标签: webpack es6-modules

我在es6中实现了一个需要从远程目标加载一些模块的库。我想支持这样一个场景:图书馆本身托管在 a.com 域上,但它需要能够从域 b.com

动态下载一些模块>

我使用Webpack 4.我在考虑使用动态导入la:

import(moduleSpecifier)
.then((module) => { //do something with module } );

不幸的是,这仅适用于lib和模块托管在同一域中的情况。

任何人都知道这种情况下最好的策略是什么?

1 个答案:

答案 0 :(得分:0)

对于这种情况,尚无最佳策略。由于webpack首先被视为捆绑系统,因此它不会公开用于配置动态分块导入的参数。

但是,有诸如output here之类的解决方案,甚至是简单的普通提取请求,都可以评估诸如share loader之类的捆绑JavaScript代码:

(摘自示例代码)

 fetch(appUrl).then(response => 
   response.text()).then(function(text) {
   /* eslint-disable no-unused-vars */
   let define = (fn) => fn();
   /* eslint-disable no-eval */
   let importedModule = eval(text);
 });

此类解决方案的局限性在于,它们要求将导入的javascript单独捆绑在一起。