WebPack遇到问题。我有一个供应商库(称为ChildVendor
),它实现requireJS和commonJS兼容性,所以我需要在我的WebPack项目中需要它,如var lib = require('./childVendor');
。这ChildVendor
库具有依赖性(话说SuperVendor
),且二者都requirejs-和CommonJS的适应,如此,childVendor.js
的标题是这样的:WebPack替换供应商要求调用全局变量
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
define(["superVendor"], factory);
} else if (typeof exports === 'object') {
module.exports = factory(require('superVendor'));
} else {
root.Shepherd = factory(root.SuperVendor);
}
}(this, function(SuperVendor) { /*...*/ }));
的主要问题是,我需要包括SuperVendor
我们可以通过手动方式在html文件中全局化库(所以它只是初始化为window.SuperVendor),因为它应该被其他第三方库使用。
为了解决这个问题,我已经试过webpack.ProvidePlugin
,像
plugins: [
new webpack.ProvidePlugin({
'superVendor': 'SuperVendor'
})
],
但错误还是一样的(Module not found: Error: Can't resolve 'superVendor' in '...'
)。