node.js同步执行系统命令

我需要在node.js函数中


result = execSync('node -v');

它将同步执行给定的命令行并返回该命令文本的所有标准输出。


ps。同步是错误的。我知道。仅供个人使用。



梵蒂冈之花
浏览 1627回答 4
4回答

蝴蝶刀刀

Node.js(从0.12版本开始-已有一段时间)支持execSync:child_process.execSync(command[, options])您现在可以直接执行以下操作:const execSync = require('child_process').execSync;code = execSync('node -v');它会做您期望的。(默认将I / O结果通过管道传递给父进程)。请注意,您spawnSync现在也可以。

MYYA

使用ShellJS模块。exec函数,不提供回调。例:var version = exec('node -v').output;

MM们

node.js中有一个出色的流控制模块,称为asyncblock。如果适合您的情况将代码包装在函数中,则可以考虑以下示例:var asyncblock = require('asyncblock');var exec = require('child_process').exec;asyncblock(function (flow) {    exec('node -v', flow.add());    result = flow.wait();    console.log(result);    // There'll be trailing \n in the output    // Some other jobs    console.log('More results like if it were sync...');});
打开App,查看更多内容
随时随地看视频慕课网APP