我正在开发多个插件到一个系统,将这些插件加载为AMD模块(带有requirejs)。插件编写为ES6模块,并使用webpack打包(output.libraryTarget =' amd')。到目前为止,一切都按预期运作。
但插件共享了很多捆绑在每个条目中的常用代码。我尝试使用CommonsChunkPlugin
webpack插件,但是初始块包含的代码不是AMD模块。然而,仍然正确地生成在普通卡盘上中继的其他入口点。另外documentation说在一个页面上有多个初始块(使用JSONp运行时)并不是一个好主意 - 另一个插件作者可能会使用相同的方法。
有没有办法以AMD兼容的方式优化此用例?
在我看来CommonsChunkPlugin
中的一个错误是初始条目不是AMD(但是它的代码在插件环境中加载是不安全的)...是否有我缺少的配置?
答案 0 :(得分:1)
我不太确定能正确理解你。但是,如果要将捆绑包构建为AMD模块,则必须将其配置为library:
...
output: {
...
library: true,
libraryTarget: 'umd'
},