Запустите Cakefile программно - PullRequest
2 голосов
/ 02 мая 2011

Я потратил много времени на создание этого замечательного Cakefile в Coffeescript, который собирает все, и теперь я хотел бы иметь возможность запускать команду cake build из-за пределов этого каталога, используя другой псевдоним, относящийся к моей программе.

Есть ли способ запустить cake build из исполняемого файла?Что-то, что я мог выполнить с помощью npm в / bin?

Ответы [ 2 ]

4 голосов
/ 02 мая 2011

Как говорит Ноли, единственный способ сделать это - провести обратный инжиниринг cake.js или, проще говоря, запустить команду cake из целевого каталога.Под узлом вы можете сделать это, используя child_process.spawn , установив для параметра cwd желаемый рабочий каталог.

3 голосов
/ 02 мая 2011

Похоже, что нет опции командной строки, чтобы сделать это

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, чтобы получить аргумент)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...