我无法理解grunt如何与Gruntfile.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']);
};
这是一个有效的配置。但我不知道咕噜咕噜如何将'concat'与'grunt-contrib-concat'匹配。
grunt是否修剪' grunt-contrib - '前缀以将' concat '与' grunt-contrib-concat '匹配?
答案 0 :(得分:3)
首先,我们查看grunt-contrib-concat source code:
grunt.registerMultiTask('concat', 'Concatenate files.', function() {
查看grunt creating tasks docs,传递给任务注册函数的第一个参数是任务的名称:
grunt.registerMultiTask(taskName, [description, ] taskFunction)
grunt.registerTask(taskName, [description, ] taskFunction)
答案 1 :(得分:0)
contrib-less,contrib-jade,contrib-concat .... 所以 contrib 只是表示这些插件是由 Grunt社区开发者提供的以及更少,jade,concat表示您希望在项目中使用的模块,如 gruntfile.js 中所述。
所以当你说:
grunt.loadNpmTasks('grunt-contrib-concat')
加载提到的模块。
但是为了让你在解雇 grunt 时能够正常工作,你实际上必须注册它。
grunt.registerTask('default', ['concat','jade','less']);
grunt.registerTask('test', ['concat','jade','less']);
grunt.registerTask('dist', ['concat','jade','less','uglify']);
正如您在生产中看到的,我们可能想要 uglify ,因此我们可以通过' dist '注册我们的任务。< / p>