使用webpack和CommonsChunkPlugin生成AMD模块

时间:2016-02-12 10:28:16

标签: webpack amd

我正在开发多个插件到一个系统,将这些插件加载为AMD模块(带有requirejs)。插件编写为ES6模块,并使用webpack打包(output.libraryTarget =' amd')。到目前为止,一切都按预期运作。

但插件共享了很多捆绑在每个条目中的常用代码。我尝试使用CommonsChunkPlugin webpack插件,但是初始块包含的代码不是AMD模块。然而,仍然正确地生成在普通卡盘上中继的其他入口点。另外documentation说在一个页面上有多个初始块(使用JSONp运行时)并不是一个好主意 - 另一个插件作者可能会使用相同的方法。

有没有办法以AMD兼容的方式优化此用例? 在我看来CommonsChunkPlugin中的一个错误是初始条目不是AMD(但是它的代码在插件环境中加载是不安全的)...是否有我缺少的配置?

1 个答案:

答案 0 :(得分:1)

我不太确定能正确理解你。但是,如果要将捆绑包构建为AMD模块,则必须将其配置为library

...
output: {
    ...
    library: true,
    libraryTarget: 'umd'
},