我已经指定了以下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.
我可以使用目标而不是布尔选项,但我想知道发生了什么。
我做错了什么?
答案 0 :(得分:0)
我有同样的错误并明白我必须总是给参数赋值(dans使用" ="):
转换:
grunt build --api localhost --local
在
grunt build --api=localhost --local=true