如何使用一个命令

时间:2016-12-20 16:44:41

标签: node.js cordova package salesforce-ios-sdk

因此,有两个完全不同的包具有自己的package.json文件和命令集。强迫症和强迫症。每个都需要一些参数......它们的顺序相同。然后将参数带入应用程序并进行操作和/或使用。

它们全球安装。

分别运行每个命令的命令如下:

forceios创建argv1 argv2 argv3 forcedroid创建argv1 argv2 argv3

理想情况下,我想创建一个命令来统治它们。

forceboth create argv1 argv2 argv3

我希望这个命令能够执行上述每一项。

1 个答案:

答案 0 :(得分: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);
}

代码可能存在问题。如果您有任何疑虑,请更新。