Coffeescript Cakefile - cmdline选项数组

时间:2011-12-05 16:49:01

标签: node.js coffeescript

是否可以将多个cmdline args传递给Cakefile并在数组中捕获这些值?例如:

option '', '--compilation-level [LEVEL]', 'Description...'
task "build", "compile js", (options)->
    compilationLevels = options['compilation-level'] || ['DEFAULT']
    if compilationLevels.length >= 2
        console.log 'multiple compiles'
    else
        console.log 'just one compile'

然后用cake --compilation-level ADVANCED_OPTIMIZATIONS --compilation-level SIMPLE_OPTIMIZATIONS build

运行它

如果无法做到这一点,我们将非常感谢有关实现这一目标的最佳方法的建议:)

1 个答案:

答案 0 :(得分:2)

是的:Cake由CoffeeScript的OptionParser提供支持,它是从同名的Ruby实用程序移植而来的。如果您搜索isList的来源,您会看到如果(并且仅当)正则表达式

,可以多次使用选项来创建数组
OPTIONAL   = /\[(\w+(\*?))\]/

与长标志名称完全匹配。简而言之:您只需在代码中添加一个字符。

option '', '--compilation-level [LEVEL*]', 'Description...'

*让一切变得与众不同! :)