使用风帆时,我是否需要在 package.json 中明确发出咕噜声
Do I need explicitly grunt in package.json when using sails
我有 sails
应用程序和主程序 package.json,如下所示。
如果帆也有,我真的需要所有这些咕噜声吗?特别是如果 sails 在版本 0.4.5 中有 grunt 而这里我有 0.4.2
无论如何,在主应用程序 package.json 中没有 grunt 条目。 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"
}
...
}
是的,你必须保留它们。如果你想 g运行t 集成,有什么错误 。尝试删除它们并删除您项目的 node_modules
文件夹和 运行 npm install
,您将看到您将无法 运行 g运行 t 任务像 default
因为所有需要的插件都没有在 package.json
中注册。您是项目的创建者,因此当您使用 sails new app
创建应用程序时,项目的所有 npm 依赖项都是别名,并指向全局安装的 sails 节点模块的 node_modules
文件夹。
我举个例子来说明问题:
所有依赖项都没有集成到版本控制系统(最佳实践),那么 node_modules
文件夹将被忽略。如果协作者拉取了项目,他必须 运行 npm install
安装所有项目依赖项,如果你从 package.json
中删除了所有 g运行t 插件,他就赢了无法 运行 g运行t 任务,因为所有需要的插件都没有在 package.json
.
中注册
如果您想禁用 g运行t 集成,请将其添加到您的 .sailsrc
文件中:
"hooks": {
"grunt": false
}
要了解 g运行t 如何集成到 sails,我建议您阅读文档,尤其是这些部分:
- disabling-grunt
- task-automation
- default-tasks
我有 sails
应用程序和主程序 package.json,如下所示。
如果帆也有,我真的需要所有这些咕噜声吗?特别是如果 sails 在版本 0.4.5 中有 grunt 而这里我有 0.4.2
无论如何,在主应用程序 package.json 中没有 grunt 条目。 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"
}
...
}
是的,你必须保留它们。如果你想 g运行t 集成,有什么错误 。尝试删除它们并删除您项目的 node_modules
文件夹和 运行 npm install
,您将看到您将无法 运行 g运行 t 任务像 default
因为所有需要的插件都没有在 package.json
中注册。您是项目的创建者,因此当您使用 sails new app
创建应用程序时,项目的所有 npm 依赖项都是别名,并指向全局安装的 sails 节点模块的 node_modules
文件夹。
我举个例子来说明问题:
所有依赖项都没有集成到版本控制系统(最佳实践),那么 node_modules
文件夹将被忽略。如果协作者拉取了项目,他必须 运行 npm install
安装所有项目依赖项,如果你从 package.json
中删除了所有 g运行t 插件,他就赢了无法 运行 g运行t 任务,因为所有需要的插件都没有在 package.json
.
如果您想禁用 g运行t 集成,请将其添加到您的 .sailsrc
文件中:
"hooks": {
"grunt": false
}
要了解 g运行t 如何集成到 sails,我建议您阅读文档,尤其是这些部分:
- disabling-grunt
- task-automation
- default-tasks