Как передать параметр в Джейк задачу, как это пространство имен: параметр задачи? - PullRequest
2 голосов
/ 11 сентября 2011

Я хотел бы иметь генераторы для моей миграции, такие как:

jake migration:create <name>

jake migration:remove <name>

jake migration:execute <name>

код

namespace('migration', function(){
  desc('Create migration file');
  task('create', [], function(params) {
    console.log(arguments);
    //some code for creation
  });

  desc('Remove migration file');
  task('remove', [], function(params) {
    console.log(arguments);
    //some code for removing
  });

  desc('Execute migration file');
  task('execute', [], function(params) {
    console.log(arguments);
    //some code for executing
  });

});

но я не нашел, как передать параметр <name> в задачу Джейка «Пространство имен». Не могли бы вы помочь мне?

UPD: даже примеры из https://github.com/isaacs/node-jake «Передача параметров Джейку» у меня не работает, каждый раз, когда arguments пусто, Любое предложение?

1 Ответ

4 голосов
/ 13 сентября 2011

Вы должны проверить: https://github.com/mde/jake

Вы передаете параметры в виде списка через запятую:

Джейк Миграция: создать [запустить, foo, bar]

и затем поймать их в вас функции как параметры:

namespace('migration', function(){
    desc('Create migration file');
    task('create', [], function(p1,p2,p3) {
        console.log(p1,p2,p3);
        //some code for creation
  });

  desc('Remove migration file');
  task('remove', [], function(p1,p2,p3) {
    console.log(p1,p2,p3);
    //some code for removing
  });

  desc('Execute migration file');
  task('execute', [], function(p1,p2,p3) {
    console.log(p1,p2,p3);
    //some code for executing
  });

});
...