使用sails时,是否需要在package.json中显式地使用grunt?

我有sails app和主package.json如下。 我真的需要这里所有的咕噜声,如果帆也有。 特别是如果帆在0.4.5版本中咕噜咕噜,在这里我有0.4.2反正没有主要应用程序package.json咕噜入口。 sails lift后有错误。 这看起来有些不一致。

 { ... "dependencies": { "ejs": "~0.8.4", "grunt": "0.4.2", "grunt-contrib-clean": "~0.5.0", "grunt-contrib-coffee": "~0.10.1", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-copy": "~0.5.0", "grunt-contrib-cssmin": "~0.9.0", "grunt-contrib-jst": "~0.6.0", "grunt-contrib-less": "0.11.1", "grunt-contrib-sass": "^0.9.2", "grunt-contrib-uglify": "~0.4.0", "grunt-contrib-watch": "~0.5.3", "grunt-sails-linker": "~0.9.5", "grunt-sync": "~0.0.4", "include-all": "~0.1.3", "mongodb": "^2.0.41", "rc": "~0.5.0", "sails": "git://github.com/balderdashy/sails.git", "sails-disk": "~0.10.0", "sails-mongo": "^0.11.2" } ... } 

是的,你必须保留它们。 如果你想咕integration一体化的话 ,会发生什么样的错误呢? 尝试删除它们并删除项目的node_modules文件夹并运行npm install ,你会看到你将无法像default一样运行grunt任务,因为所有需要的插件都没有在package.json注册。 您是该项目的创build者,因此当您使用sails new app创build应用sails new app ,项目的所有npm依赖项都是别名,并指向全局安装的node_modules节点模块的node_modules文件夹。

我举一个例子来说明这个问题:所有依赖关系都没有集成到版本控制系统(最佳实践)中,那么node_modules文件夹将被忽略。 如果一个协作者提取项目,他必须运行npm install来安装所有的项目依赖项,如果你从package.json删除了所有的grunt插件,他将不能运行grunt任务,因为所有需要的插件都没有注册在package.json

如果要禁用grunt集成 ,请将其添加到.sailsrc文件中:

 "hooks": { "grunt": false } 

要了解如何集成到风帆 ,我build议您阅读文档,特别是这些部分:
– 禁用 – 咕噜声
– 任务自动化
– 默认任务