Grunt - 命令行参数,不工作

use*_*872 20 command-line-arguments gruntjs

我在我的grunt脚本中使用命令行选项:http://kurst.co.uk/transfer/Gruntfile.js

但是,grunt --vers:0.0.1当我尝试获取选项时,该命令始终返回'undefined':

var version = grunt.option('vers') || ''; 
Run Code Online (Sandbox Code Playgroud)

你能帮我搞定吗?

我尝试了不同的(CLI)命令:

grunt vers:asd
grunt -vers:asd
grunt vers=asd
Run Code Online (Sandbox Code Playgroud)

以及使用:

grunt.option('-vers');
grunt.option('--vers');
Run Code Online (Sandbox Code Playgroud)

但到目前为止没有运气.希望我遗漏一些简单的东西.

这是我的package.js文件:

{
    "name": "",
    "version": "0.1.0",
    "description": "Kurst EventDispatcher / Docs Demo ",
    "devDependencies": {
        "grunt": "~0.4.1",
        "grunt-contrib-yuidoc": "*",
        "grunt-typescript": "~0.1.3",
        "uglify-js": "~2.3.5",
        "grunt-lib-contrib": "~0.6.0",
        "grunt-contrib-uglify":"*"
    }
}
Run Code Online (Sandbox Code Playgroud)

go-*_*leg 38

在Grunt中指定命令行参数的正确语法是:

grunt --option1=myValue

然后,在grunt文件中,您可以访问该值并将其打印为:

console.log( grunt.option( "option1" ) );

此外,您可能遇到问题的另一个原因--vers是因为它已经是一个返回版本的grunt选项:

?  grunt --vers
grunt-cli v0.1.7
grunt v0.4.1
Run Code Online (Sandbox Code Playgroud)

因此,切换到不同的选项名称可能是个好主意.

  • 不知道为什么我很难在grunt文档上找到这个.非常感谢! (3认同)