Gruntjs Grunt-命令行参数,不起作用

Gruntjs Grunt-命令行参数,不起作用,gruntjs,command-line-arguments,Gruntjs,Command Line Arguments,我正在grunt脚本中使用命令行选项: 但是,当我尝试获取选项时,命令grunt--vers:0.0.1总是返回“undefined”: var version = grunt.option('vers') || ''; 你能帮我把它修好吗 我尝试了不同的(CLI)命令: grunt vers:asd grunt -vers:asd grunt vers=asd 以及使用: grunt.option('-vers'); grunt.option('--vers'); 但到目前为止运气不好

我正在grunt脚本中使用命令行选项:

但是,当我尝试获取选项时,命令
grunt--vers:0.0.1
总是返回“undefined”:

var version = grunt.option('vers') || ''; 
你能帮我把它修好吗

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

grunt vers:asd
grunt -vers:asd
grunt vers=asd
以及使用:

grunt.option('-vers');
grunt.option('--vers');
但到目前为止运气不好。希望我错过了一些简单的东西

这是我的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":"*"
    }
}

指定的正确语法为:

grunt--option1=myValue

然后,在grunt文件中,您可以访问该值并按如下方式打印:

console.log(grunt.option(“option1”)

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

★  grunt --vers
grunt-cli v0.1.7
grunt v0.4.1

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

值得一提的是,随着要使用的命令行参数数量的增加,您将与grunt内部使用的一些参数发生冲突

我解决了这个问题

来自插件作者:

咕噜声太棒了。Grunt对使用其他命令行选项的支持并不可怕。当前的文档具有误导性,因为它们给出了使用布尔标志和带有值的选项的示例,但它们没有告诉您,它仅适用于单个选项。尝试使用多个选项,事情很快就会分崩离析


这绝对值得一看

不知道为什么我在grunt文档中很难找到它。非常感谢!此插件的可能副本已被弃用,不再维护。Grunt已经纠正了使这个插件有用的问题。