这是我使用 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/