2016-12-20 4 views
1

Итак, есть два совершенно разных пакета с их собственными файлами package.json и наборами команд. принудительные и силовые. Каждый из них принимает некоторые аргументы ... и они находятся в одном порядке. Затем аргументы вводятся в приложение, обрабатываются и/или используются.Как запустить два разных приложения узла (forceios и принудительное), требующие переменные аргументы с одной командой

Они установлены по всему миру.

Команды для запуска каждого в отдельности являются следующие:

forceios создать argv1 argv2 argv3 forcedroid создать argv1 argv2 argv3

В идеале, я хочу, чтобы создать одну команду, чтобы управлять ими всеми.

forceboth создать argv1 argv2 argv3

Я хотел бы эту команду для выполнения каждого из указанных выше.

ответ

0

Вдохновленный с вашего вопроса, я попытался написать базовый глобальный узел node_module forceboth, который может выполнять обе команды, используя только один forceboth.

Вы можете клонировать репо и запустить npm install -g, чтобы установить пакет по всему миру.

Или, сохраните следующий код и запустить node cmd.js create argv1 argv2 argv3

cmd.js

var args = []; 

process.argv.forEach(function (val, index, array) { 
    args.push(val); 
}); 

var foreiOS = new run_cmd(
    'forceios',args, 
    function (me, buffer) { me.stdout += buffer.toString() }, 
    function() { console.log(foreiOS.stdout) } 
); 

var foreDriod = new run_cmd(
    'forcedroid',args, 
    function (me, buffer) { me.stdout += buffer.toString() }, 
    function() { console.log(foreDriod.stdout) } 
);  

function run_cmd(cmd, args, cb, end) { 
    var spawn = require('child_process').spawn; 
    var child = spawn(cmd, args); 
    var me = this; 
    child.stdout.on('data', function (buffer) { cb(me, buffer) }); 
    child.stdout.on('end', end); 
} 

Там может быть проблема с кодом. Пожалуйста, обновите его, если у вас есть какие-либо проблемы.

+0

Я не совсем использовал ваш пример, но вы дали мне некоторые идеи, чтобы помочь ... также нашел это http://blog.npmjs.org/post/118810260230/building-a-simple-command-line- инструмент-с НПМ – notthehoff

Смежные вопросы