Answers:
答案并不像阿尔贝托·扎卡尼(Alberto Zaccagni)所建议的那样容易。如果您开发应用程序(尤其是企业应用程序),则在git repo中包括node_modules是一个可行的选择,并且选择哪种选择取决于您的项目。
因为他非常反对node_modules,所以我将集中讨论它们的参数。
想象一下,您刚刚完成了企业应用程序,并且您将需要支持3-5年。您绝对不希望依赖某人的npm模块,该模块将来可能会消失并且无法再更新您的应用程序。
或者您有无法从Internet访问的私有模块,并且无法在Internet上构建应用程序。或者,由于某些原因,您可能不想依赖最终的npm服务构建。
您可以在Addy Osmani的这篇文章中找到优缺点(尽管它与Bower有关,但情况几乎相同)。最后,我引用Bower主页和Addy的文章中的一段话:
“如果您没有编写要供他人使用的软件包(例如,您正在构建Web应用程序),则应始终将已安装的软件包检入源代码管理中。”
git checkout foo
。如果node_modules不在VCS下–切换分支即处于该状态git checkout foo ; npm install
,则无论您当前的NPM版本需要运行什么;)