如何 运行 两个不同的节点应用程序(forceios 和 forcedroid)需要一个命令的可变参数
How to run two different node apps (forceios and forcedroid) requiring variable arguments with one command
所以,有两个完全不同的包,它们有自己的 package.json 文件和命令集。 forcedroid 和 forceios。这些中的每一个都有一些参数......并且它们的顺序相同。然后将参数带入应用程序并使用 and/or 进行操作。
它们是全局安装的。
分别对运行的命令如下:
forceios 创建 argv1 argv2 argv3
forcedroid 创建 argv1 argv2 argv3
理想情况下,我想创建一个命令来统治它们。
强制创建 argv1 argv2 argv3
我想用这个命令来执行上面的每一个。
受您问题的启发,我尝试编写基本的全局 node_module forceboth,它可以 运行 仅使用一个 forceboth
.
两个命令
您可以克隆 repo 和 运行 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);
}
代码可能存在问题。如果您有任何问题,请更新它。
所以,有两个完全不同的包,它们有自己的 package.json 文件和命令集。 forcedroid 和 forceios。这些中的每一个都有一些参数......并且它们的顺序相同。然后将参数带入应用程序并使用 and/or 进行操作。
它们是全局安装的。
分别对运行的命令如下:
forceios 创建 argv1 argv2 argv3 forcedroid 创建 argv1 argv2 argv3
理想情况下,我想创建一个命令来统治它们。
强制创建 argv1 argv2 argv3
我想用这个命令来执行上面的每一个。
受您问题的启发,我尝试编写基本的全局 node_module forceboth,它可以 运行 仅使用一个 forceboth
.
您可以克隆 repo 和 运行 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);
}
代码可能存在问题。如果您有任何问题,请更新它。