使用webpack和CommonsChunkPlugin生成AMD模块
问题描述:
我正在开发多个插件到加载这些插件作为AMD模块(带有requirejs)的系统。插件被编写为ES6模块并且与webpack(output.libraryTarget ='amd')打包在一起。一切工作如预期到目前为止。使用webpack和CommonsChunkPlugin生成AMD模块
但插件共享相当多的通用代码捆绑到每个条目。我尝试使用CommonsChunkPlugin
webpack插件,但初始块包含的代码不是AMD模块。然而,在普通卡盘上继续的其他入口点仍然正确生成。另外documentation表示,在一个页面上有多个初始块(使用JSONp运行时)是不好的 - 另一个插件作者可能会使用相同的方法。
有没有办法以AMD兼容的方式优化这个用例? 在我看来,CommonsChunkPlugin
中的一个错误是,初始条目不是AMD(但它的代码仍然不安全,无法在plugin env中加载)......有没有我缺少的配置?
答
我不太确定是否正确理解你。但是,如果你想建立自己的包作为AMD模块,比你必须配置它作为一个library:这里
...
output: {
...
library: true,
libraryTarget: 'umd'
},
同样的问题。似乎无论出于何种原因而生成一个amd库都是不兼容的。 –