我即将使用 node.js 做一个大型项目,目前正在尝试解决一些问题。
在早期的节点项目中,我有一个额外的文件夹来存放我使用的所有节点模块。这个文件夹被 git 忽略,我通过 git 子模块管理版本和更新,这并不容易(没有依赖项,更新到新版本并不总是有趣。)
我正在寻找的是:
npm install packagename
npm dump_modules_into_file
因此参与该项目的其他人都可以这样做:
npm install_or_update_modules_from_file
我不想拥有node_modules
由我的 git 存储库跟踪。基本上我想要类似于 symonfy2 处理方式的东西bundles http://symfony.com/doc/2.0/cookbook/workflow/new_project_git.html.
PS:我知道npm submodule packagename
,但是这个命令不是很有帮助,因为它不安装依赖项,也不更新模块。
P.S.2:我准备好了package.json
,但这也有一些缺陷。 (没有参数,您必须手动更新模块版本。)
package.json
将实现您正在寻找的东西。在您关于通过的评论中--mongodb:native
标志,该标志是一个参数npm
命令和does使用时工作package.json
在你自己的项目中。 mongodb 包有一个“安装脚本”,它在节点处理环境中查找该标志。如果该标志存在,那么它会生成另一个构建进程。所以,如果你的 package.json 中有 mongodb 作为依赖项
{
"name": "MyProject"
, "description": "Test"
, "version": "0.0.1"
, "dependencies": {
"mongodb": "*"
}
}
Running npm install --mongodb:native
will work.
关于“手动更新” - 这实际上只是第一次,可能需要一段时间,而且我确信如果有很多依赖项,您可以编写一个脚本来生成它。然而,听起来你有一个相当大的团队,如果是这样的话,那么自动化更新package.json
会变得非常丑陋(想想新的开发人员、实验性功能等)。在开发周期的这一部分对损坏的构建负责不一定是一个坏主意。
参考:
- https://github.com/christkv/node-mongodb-native/blob/master/install.js https://github.com/christkv/node-mongodb-native/blob/master/install.js
-
http://package.json.nodejitsu.com/ http://package.json.nodejitsu.com/(参见“脚本”部分)
EDIT:正如尼克提到的,将“node_modules”目录添加到.gitignore
将阻止任何这些文件被签入您的存储库
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)