我在es6中实现了一个需要从远程目标加载一些模块的库。我想支持这样一个场景:图书馆本身托管在 a.com 域上,但它需要能够从域 b.com
动态下载一些模块>我使用Webpack 4.我在考虑使用动态导入la:
import(moduleSpecifier)
.then((module) => { //do something with module } );
不幸的是,这仅适用于lib和模块托管在同一域中的情况。
任何人都知道这种情况下最好的策略是什么?
答案 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单独捆绑在一起。