有没有办法在 grunt 任务名称中指定变量?

Is there a way to specify variable in grunt task name?

有没有办法在 grunt 任务名称中指定变量? 我想做类似

的事情
 grunt build version 0.1

然后在gruntfile.js

grunt.initConfig({
    version: // read that version
 files: {
          '<%= version %>.js'

试试这个:

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

我很难理解为什么你需要在 g运行t-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