如何在browserify中填充npm包依赖?

时间:2016-03-17 09:05:11

标签: node.js npm browserify browserify-shim

所以我有一个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"
    }
}

如何可以填充程序包本身的依赖关系?

1 个答案:

答案 0 :(得分:0)

Browserify Shim的标语是:

  

使CommonJS不兼容的文件可浏览。

您的问题是react-lite已与CommonJS兼容。对于任何CommonJS兼容文件,Browserify将在Browserify Shim参与之前自动添加dependenciespeerDependencies

我建议您将peerDependencies包中的react-nouislider条目更改为react-lite的相应版本,并删除上面的Browserify Shim配置,因为它不再需要。执行此操作时,请务必在react-nouislider包中运行任何测试,以确保它仍适用于react-lite而不是React。这样做的好方法是将react-nouislider分配到您自己的仓库,在那里进行更改,并从package.json中的回购中提取。