除了@Alessandro Pezzato酒店
Gruntfile.js:
grunt.registerTask('build', ['clean:dist', 'assemble', 'compass:dist', 'cssmin', 'copy:main']);
grunt.registerTask('build-prod', 'Build with production options', function() {
grunt.config.set('assemble.options.production', true);
grunt.task.run('build');
});
grunt.registerTask('build-live', 'Build with production options', function() {
grunt.option('assemble.options.production', false);
grunt.task.run('build');
});
現在你可以運行
$ grunt build-prod
- 或 -
$ grunt build-live
他們都將做充分的任務,「建設」和A值傳遞給options of assemble之一,即生產「真」或「假」。
除了說明組裝例如多一點:
在組裝必須添加一個{{#if production}}do this on production{{else}}do this not non production{{/if}}
如果你需要運行2個或多個任務,它將不起作用:/如果你有一個循環並設置'grunt.option'和'grunt.task.run',這兩個任務都會運行在最後一次迭代的'grunt .option'; @Rosarch,你知道如何解決它嗎? – 2014-04-22 22:27:57
@RafaelVerger您可以創建兩個任務,一個負責運行任務,另一個負責更改選項。按交替順序排列任務,並且它們將在正確設置選項的情況下運行。 – rosswil 2014-05-29 04:27:37
如果您有一套有限的選項,但是當你動態地獲得這些選項時(例如使用MySQL查詢服務器的發現)它將不起作用 – 2014-06-02 15:29:35