使用Webpack创建一个库并在另一个项目中使用它

时间:2018-07-11 07:16:53

标签: reactjs d3.js webpack window

我想创建自己的可重用库,并将其导出为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文件夹中。

当我从某个组件中要求它时,我在控制台中收到此错误:

Error in webpack console

该库使用d3-jetpack库,该库使用内部窗口。您是否对为什么Webpack不让我要求我的图书馆有想法?我知道Webpack使用node.js,并且对模块树中的window的任何引用都将导致错误,但是必须有不同于经典脚本加载的另一种方式来要求此类库。

非常感谢。

0 个答案:

没有答案