所以我有一个React项目,其中我实际上使用react-lite进行部署,因为脚印 更小。我想使用react-nouislider,但是在它的package.json中,我发现了这个:
"peerDependencies": {
"react": "^0.14.0"
}
这意味着每当我需要react-nouislider时,它会引入React而不是react-lite。如何从我的顶级package.json中填充npm包的依赖项?
这就是我在反应中的反应:
"browser": {
"react": "react-lite"
}
我试过这个,但它没有用:
"browserify-shim":{
"react-nouislider": {
"depends": "react-lite"
}
}
如何可以填充程序包本身的依赖关系?
答案 0 :(得分:0)
Browserify Shim的标语是:
使CommonJS不兼容的文件可浏览。
您的问题是react-lite
已与CommonJS兼容。对于任何CommonJS兼容文件,Browserify将在Browserify Shim参与之前自动添加dependencies
和peerDependencies
。
我建议您将peerDependencies
包中的react-nouislider
条目更改为react-lite
的相应版本,并删除上面的Browserify Shim配置,因为它不再需要。执行此操作时,请务必在react-nouislider
包中运行任何测试,以确保它仍适用于react-lite
而不是React。这样做的好方法是将react-nouislider
分配到您自己的仓库,在那里进行更改,并从package.json
中的回购中提取。