如何保留对NPM模块所做的本地更改?

时间:2016-09-06 13:27:28

标签: node.js git npm

我已使用NPM下拉了一个节点模块,并将其添加到package.json。但是,有必要更改一些模块的代码,因为它没有100%满足我的要求。

通常,当我使用节点和git时,我会忽略node_modules目录,并在部署到服务器时使用npm install

我想知道在我的场景中最佳做法是什么,有没有一种方法可以在package.json中定义一个模块,如果它在运行npm install时已经存在于本地,那么该模块应该被忽略?这已经是所有模块的默认行为吗?如果有人跑npm update,那该怎么办?我会假设该模块的最新版本会被拉下来并覆盖我的更改吗?

或者我已经考虑过为模块分配原始的git repo,将我的fork重新发布到NPM然后再使用它。

将非常感谢提示和想法:)

1 个答案:

答案 0 :(得分:4)

  

或者我已经考虑过为模块分配原始的git repo,将我的fork重新发布到NPM然后再使用它。

你在这里有正确的想法。在NPM下,您绝对不希望在托管和版本控制跟踪资源之间拆分您的问题。解决回购问题,然后回答这个问题:如果您将功能添加到现有模块,拉动请求是否可能很快就会合并并发布到NPM?

如果答案是否定的,因为功能不符合原始模块的意图,那么最好创建自己的模块,确保在自述文件中记下您的分支。

如果您正在等待PR,那么您可以在此期间选择。 NPM允许您link directly to your fork's .git file