8

Grunt はヘルパーを削除していますが、これは grunt-contrib で既に発生しています。

ただし、これらのヘルパーのいくつかを呼び出すいくつかのカスタム タスクに依存する Grunt ファイルがあります。ヘルパーがないと壊れます。それらを置き換える正しい方法は何だろうかと思っています。

なんらかの方法でタスクを直接呼び出すことになると思いますが、その方法はわかりません。Grunt のドキュメントはまだ更新されていないため、例は非常に役立ちます。

ありがとう。

4

1 に答える 1

9

Ok after some research and the help of the maintainers of grunt-contrib, I rewrote that task I have:

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);
    });
});

Into this:

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');
});

No other change needed in the config file. The new piece of code makes use of the task itself instead of the helper that is gone.

This might not be the best approach and Grunt 0.4.0 might change the game again, but it does work right now with Grunt 0.3.15 and grunt-contrib 0.2.

于 2012-09-12T04:58:58.397 に答える