node.js - Node 模块更新安装

标签 node.js node-modules

我正在使用 mozila MakeAPI 来制作爆米花机。它将数据保存到elasticsearch。我在 Elasticsearch 中添加并保存了一个新列。现在为了检索,我无法获取该列值。所以我更新了一个 Node 模块Makeapi_client。

我的问题是,这种方法好吗?因为如果用户更新 npm 可能会出现这种情况。在这种情况下,我在其中编写的代码会发生什么情况。

最佳答案

不建议以这种方式“修补”库。下次更新 MakeAPI 时,您的更改将被覆盖。您有几个选择:

  1. Submit a Pull Request - 克隆原始存储库,进行更改,然后创建拉取请求。拉取请求是您向原始库作者提出的请求,将您的更改合并到他们的规范库中。本质上,您将为每个人修复库!
  2. 在不同的文件中制作补丁 - 没有什么可以阻止你做这样的事情:

    var Client = require('makeapi').Makeapi_client;
    Client.prototype.someNewMethod = function() {};
    

    或者类似的东西。本质上,在不同的文件中创建一个补丁,您可以将其 checkin 版本控制,该补丁不会被更改覆盖。

    请注意,对库的更新可能仍会破坏您的更改。

关于node.js - Node 模块更新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400634/

相关文章:

node.js - mongodb : find() query in a collection

javascript - 父类(super class)化stream.Duplex的问题

npm - 模块是无关的 npm

javascript - 有没有办法在全局级别上从 webpack 中排除 node_modules ?

javascript - Node js module.exports 不导出变量

javascript - 如何在 socket.io 中锁定全局数组

node.js - 如何列出本地npm包内容

javascript - 重构: returning a promise from a value or an existing promise

node.js - 如何在 ES6 node.js 环境中运行 mediapipe facemesh

javascript - ESM 模块的快速验证器用法