我应该在 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/css-loader 中的错误?
我应该依赖 package.json 还是对我的节点模块进行版本控制?