2016-02-21 67 views
4

我想出版module这取决于react。我想在我的app项目中使用这个模块,它也依赖于反应。我有以下的模块配置为的WebPack:如何在使用webpack发布NPM模块(React组件)时正确使用peerDependencies?并使用npm链接?

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 /索引。 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

但正如你所看到的,我已经添加了回退到config(目前还不清楚哪个仓库,所以我把它添加到这两个) 。我在这里做错了什么?

回答

0

我的错误是忘记在安装时创建库的模块中添加“预发布”脚本。