为什么Grunt会进入devDependencies?

Mat*_*ner 12 npm gruntjs

繁重的文档指出它(和任何插件),应包括在devDependencies部分package.json.我可能错过了一些明显的东西,但我看不出原因.如果我想部署我的应用程序的生产版本,我仍然需要构建它.如果我没有建造它,那么为什么我需要Grunt?

换句话说,想象一下我拉回我的回购说:

npm install --production
Run Code Online (Sandbox Code Playgroud)

如果Grunt在该devDependencies部分,我现在如何构建我的应用程序?

小智 3

你用 Grunt 做什么?

Grunt 通常列在 devDependency 中,因为即使您将其部署用于生产,您仍然需要编译 CoffeeScript、SASS 等内容。

在我们的例子中,它看起来像这样:我们检查 GitHub 的最新更改,然后我们的部署脚本登录到服务器,从 GitHub master 提取最新代码,运行 npm install,然后运行 ​​grunt production。

然后我们在服务器上建立了一个干净的网站生产版本。

  • 好吧,听起来“devDependency”的使用更多是基于 Grunt 是一个开发工具的感觉,而不是分离开发和生产依赖项的实际愿望。 (3认同)
  • 如果您正在使用“npm install”,那么如果 Grunt 列在“dependencies”而不是“devDependency”中,会发生什么变化(如果有的话)? (2认同)