2012-09-11 1 views
8

グランはヘルパーを削除しています。これはすでにgrunt-contribで発生しています。ヘルパーがなくなった場合にグランツのコードからタスクを呼び出す方法

しかし私はいくつかのカスタムタスクに頼っているグランツファイルを持っています。 ヘルパーがなければ壊れます。私はちょうどそれらを置き換える正しい方法でなければならないと思っています。

何らかの方法で直接タスクを呼び出すことになりますが、どうすればよいか分かりません。 Gruntのドキュメントはまだ更新されていないので、参考にしてください。

ありがとうございました。設定に必要な

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

答えて

9

[OK]を、いくつかの研究とイサキ-contribののメンテナの助けを借りた後、私は私が持っているタスクを書き直しファイル。新しいコードは、ヘルパーの代わりにタスク自体を利用しています。

これは最善の方法ではないかもしれませんし、グランツ0.4.0はゲームを再び変えてしまうかもしれませんが、グランツ0.3.15とgrunt-contrib 0.2ではすぐに動作します。

+1

私はこの質問についても非常に興味があり、現在私は似たようなことをやっていますが、私にはそれほど非効率的です。 'var result = grunt.task.run( 'mincss'、['style1.css'、 'style2.css'、...])のようなものを実行するのではなく、タスクの設定を行ってからハックして実行するそれは通常の方法です。あなたが他のタスクのためのデータを動的に準備する方法を取っているなら、それを行うためのより良い方法が必要であると私は信じています。可能であれば、grunt-contribの管理者とのディスカッションにリンクしてください。 –

+0

見つかりました。ディスカッションへのリンクは次のとおりです:https://github.com/gruntjs/grunt-contrib/issues/118 –

関連する問題