11

几周以来,我一直在使用 Node.js 和 npm 并取得了巨大的成功,并开始质疑安装本地模块的最佳实践。我理解Global vs Local 论点,但是,我的问题更多地与放置本地安装的位置有关。假设我有一个项目,~/ProjectA/该项目由多个开发人员进行版本控制和工作。最初使用 Node.js 和 npm 时,我不知道默认的本地安装路径,只是简单地在默认终端中安装了必要的模块,导致安装路径为~/node_modules. 这最终会要求所有其他从事该项目的开发人员在他们自己的机器上安装模块以运行应用程序。看到一些开发人员跑到哪里去了npm install我仍然很惊讶它完全可以在他们的机器上运行(我想这与Node.js 和 require() 查找模块的方式有关),但不用说,它确实有效。

现在项目已经过了“玩弄”阶段,我想正确设置项目文件夹。所以,我的问题是,模块应该安装在版本控制的项目文件中~/ProjectA/node_modules并因此成为版本控制项目文件的一部分,还是应该继续位于开发人员机器的特定位置……或者根本不重要?

我只是在寻找一些关于这个的“最佳实践”指导以及其他人在设置项目时会做什么。

4

1 回答 1

9

我认为这里的“最佳实践”是将依赖项保留在项目文件夹中。
到目前为止,我见过的几乎所有 Node 项目(我是一名 Node 开发人员,现在已经有大约 8 个月的时间了)都是这样做的。

您不需要对依赖项进行版本控制。这就是我管理 Node 项目的方式:

  1. 将版本锁定在package.json文件中,以便每个人都获得相同的工作版本,使用npm shrinkwrap项目根目录中的命令。
  2. 将文件夹添加node_modules到您的 VCS 忽略文件(我使用 git,所以我的是.gitignore
  3. 开心,你就完成了!
于 2013-06-03T13:44:11.937 回答