node.js javascript для клиентских приложений - PullRequest
0 голосов
/ 10 сентября 2011

По этому вопросу:

node.js сжатие изображения

Я пытаюсь запустить пульверизатор в файле node.js, в коде.

Как использовать команды командной строки внутри node.js?

Спасибо.

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Pulverizr - это модуль узла, как и любой другой, поэтому, как только вы его установили, вам «потребуется» модуль как обычно. Часть командной строки, cli.js, не является особенной. Все, что он делает, это анализирует аргументы командной строки, а затем «требует» стандартный файл модуля и вызывает метод «сжатия».

var pulverizr = require('pulverizr');
var options = {
  dry: false,       // dryrun test  
  quiet: false,     // force quiet run
  recursive: false, // Run recursively
  verbose: false    // Run verbosely
};
var inputs = [ 'somefilename.jpeg', 'secondfilename.png' ];

var job = pulverizr.compress(inputs, options);

Я не знаю, кроме этого, вам придется проверить это. И «параметры» являются необязательными.

0 голосов
/ 03 мая 2012

Ваш вопрос немного запутан.Вы могли бы спросить одну из трех вещей.

Как я могу вызвать команды оболочки из программы Node.js?

См. http://nodejs.org/api/child_process.html

Это не так просто, какскажем, PERL, но Node имеет приличную поддержку для этого:

var exec = require('child_process').exec,
  child = exec('cat *.js bad_file | wc -l',
  function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
      console.log('exec error: ' + error);
    }
});

Для большего контроля над stdin / stdout, посмотрите на функцию "spawn", на которой построен exec.

Какзапустить мой код из командной строки / parse-args / etc?

Для этого есть несколько модулей.Я использовал commander.js , хотя для моего самого большого CLI-проекта я довольно сильно расширил логику commander.js (см. Следующий ответ).

Как использовать Javascript изкомандная строка

См. underscore-cli - Я написал это, поэтому я немного предвзят, но это действительно мощный инструмент для легкого доступа к функциям Javascript из командной строки,В вводной части рассказывается, почему готовый Node.js действительно ужасен для работы в командной строке и почему мой инструмент делает его намного проще.Я много работал над полировкой этого инструмента и предоставлением ему отличной документации.Он все еще находится в активной разработке, поэтому сообщите о проблеме на github, если хотите увидеть какие-либо новые функции.

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