Gruntjs Grunt任务运行但未显式注册?

Gruntjs Grunt任务运行但未显式注册?,gruntjs,Gruntjs,我已经使用Yoeman和Angular有一段时间了,但是反复运行相同的grunt命令意味着我从未真正理解grunt。读完后我有一个问题 My GrunFile.js注册以下任务: grunt.registerTask('server',函数(target){…}); registerTask('test',函数(目标){…}); registerTask('build',函数(target){…}); registerTask('default',函数(目标){…}) 然而,我可以运行grunt

我已经使用Yoeman和Angular有一段时间了,但是反复运行相同的grunt命令意味着我从未真正理解grunt。读完后我有一个问题

My GrunFile.js注册以下任务:

grunt.registerTask('server',函数(target){…});
registerTask('test',函数(目标){…});
registerTask('build',函数(target){…});
registerTask('default',函数(目标){…})

然而,我可以运行
grunt clean
clean:dist
任务。如果我尝试执行一项无意义的任务,Grunt会犹豫:

grunt cleanmy裤子
警告:未找到任务“cleanmypants”。使用--force继续。


显然,
clean
是一个Grunt任务,但由于它从未使用
Grunt.registerTask(…)
-为什么要运行它?

因为您配置了一个名为
clean
的任务和一个子任务
dist

以下是一个例子:

grunt.config.init({
清洁:{
地区:{
src:[“path/to/dir/one”,“path/to/dir/two”]
},
开发人员:{
src:[“path/to/dir/one”,“path/to/dir/two”]
}
}
});
如果运行
clean:dist
,则仅运行此任务,但如果运行
clean
,则将运行所有子任务(
dist
dev
)。如果你搜索你的文件,你应该有这样一个文件

Grunt中有两种任务

  • 配置的任务
  • 注册任务
以下是已配置的任务:

grunt.config.init({
jshint:{
全部:['lib/*.js','test/*.js','Gruntfile.js']
}
});
下面是一个注册任务:

task.registerTask('JshintRegisterTask', ['jshint', 'concat']);
已注册的任务允许您使用已配置的任务创建新任务。

有关更多信息,请阅读Grunt.js文档: