在Gruntfile中指定多个选项

时间:2014-10-24 10:50:01

标签: gruntjs

我已经指定了以下grunt任务:

grunt.registerTask('build', function() {
  var apiUrl = grunt.option('api') || 'default';
  var local = grunt.option('local');
  grunt.log.writeln('Using api url: ' + apiUrl);
  grunt.log.writeln('Using local: ' + local);
});

local应该是一个布尔值。

参数的值取决于命令行上的顺序。这种行为是不受欢迎的。

如果我将local参数放在最后,那么一切都按预期工作:

$ grunt build --api localhost --local
Running "build" task
Using api url: localhost
Using local: true

否则价值会搞砸:

$ grunt build --local --api localhost
Warning: Task "localhost" not found. Use --force to continue.

Aborted due to warnings.
$ grunt build --local --api=localhost
Running "build" task
Using api url: default
Using local: --api=localhost

Done, without errors.

我可以使用目标而不是布尔选项,但我想知道发生了什么。
我做错了什么?

1 个答案:

答案 0 :(得分:0)

我有同样的错误并明白我必须总是给参数赋值(dans使用" ="):

转换:

grunt build --api localhost --local

grunt build --api=localhost --local=true