2015-05-12 96 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的解决方案是可扩展的。 –

相关问题