他のうなり声タスクを呼び出すうなり声タスクがあります。プログラムで決定された引数でサブタスクを呼び出したいです。これは可能ですか? lib/grunt.jsとlib/grunt/task.jsを掘り下げて調べましたが、理解できませんでした。
Gruntfile.jsで指定された以下の引数でgrunt-compass
を使用しています。
compass: {
default_options: {
src: 'components/201',
dest: 'build',
require: ['zurb-foundation']
}
}
実行時にそれらをオーバーライドできるようにしたい:
tasks/my-task.js:
// simplified example
module.exports = function(grunt) {
grunt.registerTask('foo', 'bar', function() {
var chooseDest = doWork();
grunt.task.run('compass', {src: 'src', dest: chooseDest});
});
};
参考のために:
$ grunt --version
grunt-cli v0.1.6
grunt v0.4.0rc6
私はそれを考え出した。使用 <%= %>
Gruntfile.jsの構文:
compass: {
default_options: {
src: 'components/<%= myTask.src %>',
dest: 'build',
require: ['zurb-foundation']
}
}
次に、タスクで設定できます。
grunt.config.set('myTask.src', getSrc());
すべてのGrunt設定を編集できます:
grunt.config('compass.default_options.src', 'blabla');
タスクを実行する直前。しかし、あなたの解決策は「よりクリーン」です。