我应该在 node_modules 中克隆一个节点库来修改它吗?

Posted

技术标签:

【中文标题】我应该在 node_modules 中克隆一个节点库来修改它吗?【英文标题】:Should I clone a node library inside node_modules to modify it? 【发布时间】:2012-10-12 21:52:15 【问题描述】:

我正在使用 Poet 作为博客/静态网站生成器引擎,它很棒。

它目前是我的 packages.json 中列出的一个依赖项,所以我只是在我的 express 应用程序中 npm install 它和 require 它。

但是,我想更改库中的一个行为(特别是构建“post.preview”的方式,现在只需获取第一行,我希望也许能够配置一个每篇文章的行数)。

为此,我正在考虑克隆 repo 并进行更改。

但我想知道我是否应该:

像往常一样直接将其克隆到我的博客/node_modules/poet 和require,或者, 将其克隆到其他文件夹并从其他路径require

请记住,我想尽快发布到 Heroku 或 Nodejitsu。

您对此有何看法?

更新:在我的 git 存储库下使用克隆的 lib 生成 git 存储库时遇到了一些问题。它以某种方式将整个文件夹添加为文件。我立即从 lib 文件夹中删除了“.git”,一切都恢复了正常...我不知道这种行为的原因!

【问题讨论】:

(在 UPDATE 上):编辑 .gitignore 添加这一行 /lib/<myRepo> 之后你应该不会有问题。 【参考方案1】:

我不知道这方面是否有任何指导方针,但我个人会派生出诗人并进行更改,并将其添加为与 node_modules 不同的目录中的应用程序的外部存储库。我只是想让 node_modules 由 npm 管理。

我的目标是能够使用 git pull + npm install 进行部署,同时能够轻松地继续合并来自诗人主线的更新。

【讨论】:

注明。不过,我会等待更多意见。【参考方案2】:

恕我直言,一个好的做法是将此存储库克隆并保存到文件夹 /lib 中。一旦你觉得你已经完成了你的更改,将它们推送到你的版本中,并在 package.json 文件中正确引用你的副本。

现在,如果您认为可以将您的更改引入模块,请提出拉取请求。

我的两分钱。

【讨论】:

是的,npm 似乎抱怨 node_modules 中有奇怪的东西。我现在把它放在另一个文件夹下......但我用新的 git 问题更新了这个问题。

以上是关于我应该在 node_modules 中克隆一个节点库来修改它吗?的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何排除电子打包器中的所有 node_modules

./node_modules/css-loader 中的错误?

我应该依赖 package.json 还是对我的节点模块进行版本控制?

DOM克隆操作(深克隆/浅克隆)

如何为本地引用的节点模块指定 node_modules 文件夹

安装节点包时可以使用自定义目录名称而不是“node_modules”吗?