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

时间:2016-02-21 06:38:44

标签: reactjs npm dependencies webpack

我想发布取决于module的{​​{1}}。我想在我的react项目中使用此模块,该模块也依赖于反应。我有以下用于webpack的模块配置:

app

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

然后我从模块目录运行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')] } }; ,从npm link目录运行npm link my-module。但是,它仍然会加载两个不同版本的React,从而导致问题。如何让我的模块使用与应用程序相同的反应?

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

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

1 个答案:

答案 0 :(得分:0)

我的错误是忘记添加" preublish"安装时构建库的模块中的脚本。