我可以在Cakefile中为单独的任务分别设置选项吗?

时间:2012-11-27 19:37:26

标签: node.js coffeescript

我见过的Cakefiles文档似乎是一个例子,这是一个典型的例子:

option '-v', '--verbose [TRUE|FALSE]', 'Turn verbosity on/off (off by default)'
task 'spec', 'run specs', (options) ->
  jasmine = require 'jasmine-node'
  # ...

但是当我想要这个时会发生什么:

option '-v', '--verbose [TRUE|FALSE]', 'Turn verbosity on/off (off by default)'
task 'spec', 'run specs', (options) ->
  jasmine = require 'jasmine-node'
  # ...

option '-d', '--directory [PATH]', 'specific directory to set up the widget in'
task 'createWidgets', 'create the widgets', (options) ->
  console.log options.verbose

选项特定于文件,而不是任务,这意味着(a)选项渗透到文件中的所有任务,以及(b)运行cake时,用户不清楚哪些选项是与哪些任务相关联。

如何将选项与特定任务相关联?

1 个答案:

答案 0 :(得分:1)

没有办法通过cake.coffee提供的任何功能添加特定于任务的选项 - 如果查看source,您会看到全局处理选项。您可以自己编写该代码,通过编写读取节点process.argv的代码,按每个任务提取选项。但是,cake.coffee实际上是一个非常简单的构建工具,除了最简单的构建系统之外,我不会推荐它。您可能希望查看rakemake之类的内容。