4 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個贊
Node.js(從0.12版本開始-已有一段時間)支持execSync:
child_process.execSync(command[, options])
您現(xiàn)在可以直接執(zhí)行以下操作:
const execSync = require('child_process').execSync;
code = execSync('node -v');
它會做您期望的。(默認(rèn)將I / O結(jié)果通過管道傳遞給父進(jìn)程)。請注意,您spawnSync現(xiàn)在也可以。

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個贊
使用ShellJS模塊。
exec函數(shù),不提供回調(diào)。
例:
var version = exec('node -v').output;

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個贊
node.js中有一個出色的流控制模塊,稱為asyncblock。如果適合您的情況將代碼包裝在函數(shù)中,則可以考慮以下示例:
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...');
});
添加回答
舉報