我有一个呼唤任务,称为其他呼唤任务。我想用编程确定的参数调用子任务。这可能吗?我花了一些时间来研究 lib / grunt.js 和 lib / grunt / task.js ,但无法弄清楚。
我正在使用 Gruntfile.js中*grunt-compass指定的以下参数: *
grunt-compass
compass: { default_options: { src: 'components/201', dest: 'build', require: ['zurb-foundation'] } }
我希望能够在运行时覆盖它们:
task / 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());