我需要在 node.js 函数中
result = execSync('node -v');
这将 同步 执行给定的命令行并返回该命令文本的所有标准输出。
附言。同步错误。我知道。仅供个人使用。
更新
现在我们有了 mgutz 的解决方案,它给了我们退出代码,但没有标准输出!仍在等待更准确的答案。
mgutz 更新了他的答案,解决方案就在这里 :) 另外,正如 dgo.a 所 提到的,还有独立模块exec-sync
更新 2014-07-30
ShellJS库到了。考虑这是目前最好的选择。
更新 2015-02-10
最后! NodeJS 0.12 原生支持execSync。 见官方文档
execSync
Node.js(从 0.12 版开始 - 有一段时间)支持execSync:
child_process.execSync(command[, options])
您现在可以直接执行此操作:
const execSync = require('child_process').execSync; code = execSync('node -v');
它会做你所期望的。(默认将 i/o 结果通过管道传输到父进程)。请注意,您现在也可以spawnSync。
spawnSync