git - 当我将我的项目发布到 GitHub 时,我应该如何处理 Grunt 的 node_modules 目录?

标签 git gruntjs

这是我使用 Grunt 和 Git 的第一个项目。在我的项目中,我有一个由命令“npm install grunt”创建的“*node_modules*”目录。现在我想将我的项目发布到 GitHub。

我的项目应该包含“node_modules”还是应该忽略它?对于不熟悉 Grunt 的开发人员来说,我担心这个项目会让他们感到害怕。事实上,我很困惑为什么要为每个项目分别安装 grunt。为什么不能全局安装?

这是我的安装:grunt-contrib-concat、grunt-contrib-jshint、grunt-contrib-qunit、grunt-contrib-uglify、grunt-contrib-watch。

最佳答案

你不应该全局安装 grunt 和 grunt 插件的原因是你一次只能安装一个版本。在与团队合作时,这也意味着您团队中的每个成员都必须运行相同版本的 grunt 和每个 grunt 插件。

与团队协调这些版本并在跳转到不同项目时切换版本是一场噩梦。解决方案,在本地安装所有内容。它只是文件空间,大多数模块不会占用大量空间。

大多数人不会将他们的 node_modules 文件夹提交到 github。 package.json 中列出的每个依赖项都可以通过在同一文件夹中键入:npm install 再次安装。

在安装插件和模块时使用 npm install grunt --save-dev 保存到您的 package.json

在我看来,提交 node_modules 的唯一合理理由是使用私有(private)应用程序和旨在部署到生产环境的存储库。您想确保您的依赖项被锁定并且不会在推送时破坏某些东西的地方。还有其他策略可以避免提交 node_modules,即使在这个用例中也是如此(例如 npm shrinkwrap)。

简而言之:

  • 如果您正在部署一个应用程序并且担心锁定您的部门,请提交您的 node_modules
  • 其他所有内容,不要提交您的 node_modules

关于git - 当我将我的项目发布到 GitHub 时,我应该如何处理 Grunt 的 node_modules 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494268/

相关文章:

git - 检查现有的远程分支

javascript - 从 grunt-contrib-connect 请求对象获取数据

node.js - 如何在没有 grunt-cli 的情况下运行 grunt 0.4.*

css - 无法找到一种方法来自动化/咕噜 CSS Sprite 创建,支持 PNG 源文件的悬停效果

javascript - 如何在构建脚本中将 CDN url 添加到 requirejs 路径

javascript - grunt-contrib-copy 复制目录到另一个没有根目录

git - Git 如何确定需要在存储库之间发送哪些对象?

来自 Hg repo 的 git 子模块?

Git 远程 : Error: fatal: protocol error: bad line length character: Unab

git - 我可以在 git 中检索已创建、暂存、从未提交但随后被删除的文件吗?