我正在使用 mozila MakeAPI 来制作爆米花机。它将数据保存到elasticsearch。我在 Elasticsearch 中添加并保存了一个新列。现在为了检索,我无法获取该列值。所以我更新了一个 Node 模块Makeapi_client。
我的问题是,这种方法好吗?因为如果用户更新 npm 可能会出现这种情况。在这种情况下,我在其中编写的代码会发生什么情况。
最佳答案
不建议以这种方式“修补”库。下次更新 MakeAPI 时,您的更改将被覆盖。您有几个选择:
- Submit a Pull Request - 克隆原始存储库,进行更改,然后创建拉取请求。拉取请求是您向原始库作者提出的请求,将您的更改合并到他们的规范库中。本质上,您将为每个人修复库!
在不同的文件中制作补丁 - 没有什么可以阻止你做这样的事情:
var Client = require('makeapi').Makeapi_client; Client.prototype.someNewMethod = function() {};
或者类似的东西。本质上,在不同的文件中创建一个补丁,您可以将其 checkin 版本控制,该补丁不会被更改覆盖。
请注意,对库的更新可能仍会破坏您的更改。
关于node.js - Node 模块更新安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400634/