【问题标题】:How can I preserve local changes made to an NPM module?如何保留对 NPM 模块所做的本地更改?
【发布时间】:2017-01-13 23:36:36
【问题描述】:

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

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

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

另外,我考虑过为模块分叉原始 git repo,将我的分叉重新发布到 NPM,然后改用它。

我们将不胜感激提示和想法 :)

【问题讨论】:

    标签: node.js git npm


    【解决方案1】:

    另外,我考虑过为模块分叉原始 git repo,将我的分叉重新发布到 NPM,然后改用它。

    你的想法是对的。在 NPM 下,您绝对不想在托管资源和版本控制跟踪资源之间划分您的关注点。 fork 存储库,然后回答这个问题:如果您将功能添加到现有模块,拉取请求是否可能很快被合并并发布到 NPM?

    如果答案是否定的,因为功能不符合原始模块的意图,您最好创建自己的,确保在 README 中注明您的 fork。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2013-12-11
      • 2021-03-14
      • 1970-01-01
      • 2016-07-18
      • 2014-08-05
      相关资源
      最近更新 更多