Grunt 正在删除助手,这已经在 grunt-contrib 中发生了。
但是,我有一个 Grunt 文件,它依赖于调用其中一些帮助程序的一些自定义任务。没有帮手,它就会崩溃。我只是想知道替换它们的正确方法应该是什么。
我会以某种方式直接调用任务,但我不确定如何。由于 Grunt 文档尚未更新,因此举个例子会有很大帮助。
谢谢。
Grunt 正在删除助手,这已经在 grunt-contrib 中发生了。
但是,我有一个 Grunt 文件,它依赖于调用其中一些帮助程序的一些自定义任务。没有帮手,它就会崩溃。我只是想知道替换它们的正确方法应该是什么。
我会以某种方式直接调用任务,但我不确定如何。由于 Grunt 文档尚未更新,因此举个例子会有很大帮助。
谢谢。
好的,经过一些研究和 grunt-contrib 维护者的帮助,我重写了我的任务:
grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() {
grunt.file.expandFiles(this.data).forEach(function(file) {
var minified = grunt.helper("mincss", grunt.file.read(file));
grunt.file.write(file, minified);
grunt.log.writeln("Minified CSS "+file);
});
});
进入这个:
grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() {
var count = 0;
grunt.file.expandFiles(this.data).forEach(function(file) {
var property = 'mincss.css'+count+'.files';
var value = {};
value[file] = file;
grunt.config(property, value);
grunt.log.writeln("Minifying CSS "+file);
count++;
});
grunt.task.run('mincss');
});
配置文件中不需要其他更改。新的代码使用了任务本身,而不是已经消失的助手。
这可能不是最好的方法,Grunt 0.4.0 可能会再次改变游戏规则,但它现在确实适用于 Grunt 0.3.15 和 grunt-contrib 0.2。