8

Grunt 正在删除助手,这已经在 grunt-contrib 中发生了。

但是,我有一个 Grunt 文件,它依赖于调用其中一些帮助程序的一些自定义任务。没有帮手,它就会崩溃。我只是想知道替换它们的正确方法应该是什么。

我会以某种方式直接调用任务,但我不确定如何。由于 Grunt 文档尚未更新,因此举个例子会有很大帮助。

谢谢。

4

1 回答 1

9

好的,经过一些研究和 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。

于 2012-09-12T04:58:58.397 回答