使用Grunt
时,在注册任务时,使用已经注册的任务的速度要慢得多,可能有多个自己的子任务,而不是直接从initConfig
使用任务,甚至写作注册中的手工功能?这是一个例子:
从命令行指定grunt minify
的速度要慢多少:
grunt.registerTask('minify', ['preprocessed', 'nonprocessed']);
gruntregisterTask('preprocessed', ['sass:convert', 'haml:convert']);
grunt.registerTask('nonprocessed', ['uglify', 'cssmin', 'htmlmin', 'phpmin']);
比你创建minify
这样的任务:
grunt.registerTask('minify', ['sass:convert', 'haml:convert', 'uglify', 'cssmin', 'htmlmin', 'phpmin']);
我必须相信至少有一些减速,因为Grunt
必须经历更多步骤来“看到”每个抽象级别的任务,但我只是想知道是否需要担心只有数千个模块,每个任务有数十个子任务等,或者它也会影响较小的项目。
答案 0 :(得分:2)
您可以使用time-grunt自行测试。
// Gruntfile.js
module.exports = function (grunt) {
// require it at the top and pass in the grunt instance
require('time-grunt')(grunt);
grunt.initConfig();
}
就我个人而言,我从未注意到通过指定更多别名而不是更少的速度来降低任何速度,如果速度减慢,它将在毫秒中。看到完整的测试套件会很有趣。