当前位置 : 主页 > 网页制作 > React >

reactjs – 如何在使用webpack发布NPM模块(React组件)时正确使用peerDependencies?并使用

来源:互联网 收集:自由互联 发布时间:2021-06-15
我想发布依赖于反应的模块.我想在我的应用程序项目中使用此模块,该模块也依赖于react.我为webpack提供了以下模块配置: module.exports = { //...... externals: { 'react': 'react' }, output: { library:
我想发布依赖于反应的模块.我想在我的应用程序项目中使用此模块,该模块也依赖于react.我为webpack提供了以下模块配置:

module.exports = {
  //......
  externals: {
    'react': 'react'
  },
  output: {
    library: 'my-module',
    libraryTarget: 'umd'
  },
  resolve: {
    extensions: ['', '.js'],
    fallback: [path.join(__dirname, 'node_modules')]
  },
  resolveLoader: {
    fallback: [path.join(__dirname, 'node_modules')]
  }
};

package.json作为依赖项和peerDependency做出反应,并以lib / index.js作为入口点,因此我将库构建为lib / index.js.

然后我从模块目录运行npm link,从app目录运行npm link my-module.但是,它仍然会加载两个不同版本的React,从而导致问题.如何使我的模块使用与应用程序相同的反应?

我阅读了有关peerDepenencies和npm链接的链接:https://webpack.github.io/docs/troubleshooting.html#npm-linked-modules-doesn-t-find-their-dependencies

但正如您所看到的,我已将回退添加到配置中(不清楚哪个存储库,因此我将其添加到两个存储库中).我在这做错了什么?

我的错误是忘记在安装时构建库的模块中添加“prepublish”脚本.
网友评论