我想创建自己的可重用库,并将其导出为UMD模块。
这是我的图书馆项目中的webpack配置文件:
const config = {
mode: mode,
entry: __dirname + '/src/index.js',
devtool: 'source-map',
output: {
path: __dirname + '/dist',
filename: outputFile,
library: libraryName,
libraryTarget: 'umd',
umdNamedDefine: true
},
resolve: {
modules: [path.resolve('./node_modules'), path.resolve('./src')],
extensions: ['.json', '.js', '.jsx'],
}
};
一切正常,创建了捆绑包,然后我手动将其拾起并放在我的其他项目lib文件夹中。
当我从某个组件中要求它时,我在控制台中收到此错误:
该库使用d3-jetpack库,该库使用内部窗口。您是否对为什么Webpack不让我要求我的图书馆有想法?我知道Webpack使用node.js,并且对模块树中的window的任何引用都将导致错误,但是必须有不同于经典脚本加载的另一种方式来要求此类库。
非常感谢。