Coffeescript Cakefile – cmdline选项数组

是否有可能将多个cmdlineparameter passing给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' 

然后运行它w / cake --compilation-level ADVANCED_OPTIMIZATIONS --compilation-level SIMPLE_OPTIMIZATIONS build

如果这是不可能的,那么最好的方法来完成这个build议将不胜感激:)

是的:Cake是由CoffeeScript的OptionParser驱动的,它是从同名的Ruby实用工具中移植过来的 。 如果你searchisList的源代码,你会看到一个选项可以多次使用来创build一个数组,如果(并且只有)正则expression式

 OPTIONAL = /\[(\w+(\*?))\]/ 

完全符合长旗的名字。 简而言之: 您只需添加一个字符到您的代码。

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

*使所有的差异! 🙂