在节点

时间:2015-08-26 09:37:26

标签: javascript node.js git shell github

我的工作代码完全符合我的要求,但我对我使用的方法不满意,因为它不能很好地扩展。

假设我想要一个接一个地执行4个命令来克隆存储库并将发布结帐到本地文件夹:

//shell command
var cmd = "cd /Users/xxxx/Documents/DESIGN" +
          " && git clone https://github.com/xxxx/xxxx.git testing" + 
          " && cd testing" +
          " && git checkout 4.0"; 

//execute shell command
var exec = require("child_process").exec;
exec(cmd, function(err, stdout, stderr){
  if (err) console.log(err);
  console.log(stdout);
});

有没有办法干净地执行多个命令并使其更具可扩展性,而无需仅使用&&添加更多原始命令字符串来加入它们?

1 个答案:

答案 0 :(得分:0)

你可以做很多事情。最简单的方法是使用execSync,并在彼此之后执行一个命令。

因为您需要执行另一个命令,这将是我将使用的解决方案。

如果你想坚持使用异步模式,请使用像stepasync这样的control-flow-lib。

你甚至可以用像bluebird这样的lib来宣传exec。

这一切都取决于个人编码偏好和您需要完成的任务。