2015-05-12 135 views

回答

1

試試這個:

YourTask: { 
    dist: { 
     files: { 'dist.<%= version %>.js', ........ 
    } 
}, 

註冊您的build任務是這樣的:

grunt.task.registerTask('build', 'build a specific version', 
function(version) { 
    if (arguments.length === 0) { 
    grunt.log.writeln(this.name + ", missing version"); 
    } else { 
    grunt.log.writeln(this.name + " version " + version); 
    grunt.config.set('version', version); 
    grunt.task.run([ 
     'YourTask:dist' 
    ]); 
    } 
}); 

然後你會打電話:grunt build:0.1

+0

是的,我剛來到這個解決方案了。謝謝 – vickk

+0

但我不得不添加iside任務: configObj.version = version; grunt.initConfig(configObj); – vickk

+0

你能幫我解決嗎? http://stackoverflow.com/questions/30255572/parameters-binding-in-grunt-tasks 我仍在使用grunt – vickk

0

我很難理解爲什麼你需要在grunt-tasks中使用不同的名字。但是你所談論的事情似乎就是爭論的用法。試試這些代碼:

grunt.registerTask('custom', 'Build version', function() { 
    grunt.config.set('ver', grunt.option('ver') || 0); 
    grunt.task.run('build'); 
}); 

而且隨着--ver參數運行它:

grunt custom --ver=0.1 
+0

其實我認爲@ Rachid的解決方案是可擴展的。 –

相關問題