以编程方式运行Cakefile

时间:2011-05-02 05:27:16

标签: node.js coffeescript cakephp

我花了很多时间在Coffeescript中构建这个很棒的Cakefile来构建所有东西,现在我希望能够使用与我的程序相关的另一个别名从该目录外部运行命令cake build

有没有办法从可执行文件中运行cake build?我可以在'/ bin'下用npm执行的东西吗?

2 个答案:

答案 0 :(得分:4)

正如Noli所说,唯一的方法是从目标目录中反向工程cake.js或者更简单地运行cake命令。在Node下,您可以使用child_process.spawn通过将cwd选项设置为所需的工作目录来执行此操作。

答案 1 :(得分:3)

看起来没有命令行选项来执行此操作

https://github.com/jashkenas/coffee-script/blob/master/lib/cake.js#L38

  exports.run = function() {
    return path.exists('Cakefile', function(exists) {
      var arg, args, _i, _len, _ref, _results;
      if (!exists) {
        throw new Error("Cakefile not found in " + (process.cwd()));
      }

因此,您的进程可能需要首先'cd'到Cakefile的目录,以便运行它。 (或者你可以修补coffescript进行争论)