我即将用node.js做一个大型项目,目前尝试排序一些东西.
在早期的节点项目中,我有一个额外的文件夹用于我使用的所有节点模块这个文件夹被git忽略了,我通过git子模块管理版本和更新,这并不容易(没有依赖,更新到新版本并不总是很有趣.)
我在寻找的是:
npm install packagename
npm dump_modules_into_file
所以参与这个项目的其他人都可以这样做:
npm install_or_update_modules_from_file
我不想让我的git存储库跟踪node_modules.基本上我想要一些类似于symonfy2处理它的方法bundles.
P.S.:我知道npm submodule packagename,但是这个命令不是很有用,因为它没有安装依赖项,也没有更新模块.
P.S.2:我准备了关于package.json,但这也存在一些缺陷. (没有参数,您必须手动更新模块版本.)
解决方法
package.json将完成你正在寻找的东西.在关于传递–mongodb:native标志的注释中,该标志是npm命令的参数,并且在您自己的项目中使用package.json时可以正常工作. mongodb包有一个“安装脚本”,它在节点处理环境中查找该标志.如果存在该标志,则它会为构建生成另一个进程.所以,如果你将mongodb作为package.json中的依赖项
{ "name": "MyProject","description": "Test","version": "0.0.1","dependencies": { "mongodb": "*" } }
运行npm install –mongodb:native将起作用.
关于“手动更新” – 它实际上只是第一次可能需要一段时间,而且我确信如果有很多依赖项,你可以编写一个脚本来生成它.然而,听起来你有一个相当大的团队,如果是这样,那么自动化对package.json的更新将变得非常难看(想想新的开发人员,实验性功能等).对这部分中的破坏构建负责开发周期不一定是个坏主意.
参考文献:
> https://github.com/christkv/node-mongodb-native/blob/master/install.js
> http://package.json.nodejitsu.com/(参见“脚本”部分)