Node.js 任务名称在grunt中是如何映射的?
我无法理解grunt如何将任务与Node.js 任务名称在grunt中是如何映射的?,node.js,gruntjs,Node.js,Gruntjs,我无法理解grunt如何将任务与grunfile.js匹配: module.exports = function (grunt) { grunt.initConfig({ concat: { dist: { src: ['src/*.js'], dest: 'dest/all.js' } } }); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.
grunfile.js
匹配:
module.exports = function (grunt) {
grunt.initConfig({
concat: {
dist: {
src: ['src/*.js'],
dest: 'dest/all.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['concat']);
})
这是一个有效的配置。但我不知道grunt如何将'concat'匹配到'grunt-contrib-concat'grunt是否修剪“grunt contrib-”前缀以匹配“concat”与“grunt contrib concat” contrib-less,contrib-jade,contrib-concat….所以contrib只是表示这些插件是由Grunt社区开发人员提供的,less,jade,concat表示您希望在项目中使用的模块,如grunfile.js中所述 所以当你说:
grunt.loadNpmTasks('grunt-contrib-concat')
它加载所提到的模块
但是为了使它在你发射咕噜声时工作,你实际上必须注册它
grunt.registerTask('default', ['concat','jade','less']);
grunt.registerTask('test', ['concat','jade','less']);
grunt.registerTask('dist', ['concat','jade','less','uglify']);
因此,正如您在制作中所看到的那样,我们可能希望丑陋,因此我们可以通过“dist”在中注册我们的任务
contrib-less,contrib-jade,contrib-concat….所以contrib只是表示这些插件是由Grunt社区开发人员提供的,less,jade,concat表示您希望在项目中使用的模块,如grunfile.js中所述
所以当你说:
grunt.loadNpmTasks('grunt-contrib-concat')
它加载所提到的模块
但是为了使它在你发射咕噜声时工作,你实际上必须注册它
grunt.registerTask('default', ['concat','jade','less']);
grunt.registerTask('test', ['concat','jade','less']);
grunt.registerTask('dist', ['concat','jade','less','uglify']);
因此,正如您在制作中所看到的那样,我们可能希望丑陋,因此我们可以通过“dist”在中注册我们的任务
contrib-less,contrib-jade,contrib-concat….所以contrib只是表示这些插件是由Grunt社区开发人员提供的,less,jade,concat表示您希望在项目中使用的模块,如grunfile.js中所述
所以当你说:
grunt.loadNpmTasks('grunt-contrib-concat')
它加载所提到的模块
但是为了使它在你发射咕噜声时工作,你实际上必须注册它
grunt.registerTask('default', ['concat','jade','less']);
grunt.registerTask('test', ['concat','jade','less']);
grunt.registerTask('dist', ['concat','jade','less','uglify']);
因此,正如您在制作中所看到的那样,我们可能希望丑陋,因此我们可以通过“dist”在中注册我们的任务
contrib-less,contrib-jade,contrib-concat….所以contrib只是表示这些插件是由Grunt社区开发人员提供的,less,jade,concat表示您希望在项目中使用的模块,如grunfile.js中所述
所以当你说:
grunt.loadNpmTasks('grunt-contrib-concat')
它加载所提到的模块
但是为了使它在你发射咕噜声时工作,你实际上必须注册它
grunt.registerTask('default', ['concat','jade','less']);
grunt.registerTask('test', ['concat','jade','less']);
grunt.registerTask('dist', ['concat','jade','less','uglify']);
因此,正如您在制作中所看到的那样,我们可能希望丑陋,因此我们可以通过“dist”在中注册我们的任务。首先,我们查看内部:
从内部看,传入任务注册函数的第一个参数是任务的名称:
grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.registerTask(taskName, [description, ] taskFunction)
结论
- 没有“神奇”的名字,也没有“咕哝的关键词”
- 自定义任务和任务插件之间没有区别(即使是grunt contrib…)
- 创建任务的API就这么简单
- 没有“神奇”的名字,也没有“咕哝的关键词”
- 自定义任务和任务插件之间没有区别(即使是grunt contrib…)
- 创建任务的API就这么简单
- 没有“神奇”的名字,也没有“咕哝的关键词”
- 自定义任务和任务插件之间没有区别(即使是grunt contrib…)
- 创建任务的API就这么简单
- 没有“神奇”的名字,也没有“咕哝的关键词”
- 自定义任务和任务插件之间没有区别(即使是grunt contrib…)
- 创建任务的API就这么简单
- 首先,我们看一下内部:
从内部看,传入任务注册函数的第一个参数是任务的名称:
grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.registerTask(taskName, [description, ] taskFunction)
结论
- 首先,我们看一下内部:
从内部看,传入任务注册函数的第一个参数是任务的名称:
grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.registerTask(taskName, [description, ] taskFunction)
结论
- 首先,我们看一下内部:
从内部看,传入任务注册函数的第一个参数是任务的名称:
grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.registerTask(taskName, [description, ] taskFunction)
结论
task runner
读取jade、concat、less…
中提到的任务。但严格来说,它们不是关键词。只是社区为它定义了规范,我们遵循。你想告诉我concat是grunt的一个众所周知的词吗?是的,jade,concat,less都像grunt的一个关键字。grunt没有“关键字”。只需一个任务注册apyes用简单的话来说,task runner
读取jade、concat、less…
中提到的任务。但严格来说,它们不是关键词。只是社区为它定义了规范,我们遵循。你想告诉我concat是grunt的一个众所周知的词吗?是的,jade,concat,less都像grunt的一个关键字。grunt没有“关键字”。只需一个任务注册apyes用简单的话来说,task runner
读取jade、concat、less…
中提到的任务。但严格来说,它们不是关键词。只是社区已经为它定义了规范,我们遵循。你想告诉我concat是grunt的一个广为人知的词吗?