Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript exec()命令未在标准输出中显示输出_Javascript_Node.js_Exec_Child Process - Fatal编程技术网

Javascript exec()命令未在标准输出中显示输出

Javascript exec()命令未在标准输出中显示输出,javascript,node.js,exec,child-process,Javascript,Node.js,Exec,Child Process,我使用exec命令是为了通过安装child_进程节点模块来理解它。 通过查看输出,可以看出我的exec()没有按预期工作 exec.js console.log('1') var exec = require('child_process').exec; console.log('2'); exec('node -v', function (error, stdout, stderr) { console.log('stdout', +stdout); console.log('

我使用exec命令是为了通过安装child_进程节点模块来理解它。 通过查看输出,可以看出我的
exec()
没有按预期工作

exec.js

console.log('1')
var exec = require('child_process').exec;
console.log('2');
exec('node -v', function (error, stdout, stderr) {
    console.log('stdout', +stdout);
    console.log('stderr', +stderr);
    if (error !== null) {
        console.log('exec error: ', + error);
    }
});
package.json

{
  "name": "exec",
  "version": "1.0.0",
  "description": "",
  "main": "exec.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "child_process": "^1.0.2"
  }
  }
当运行命令
node exec.js
时,它显示如下输出

1
2
stdout NaN
stderr 0

在每个
控制台.log
函数调用中,每个变量名前面都有一个
+
。这将尝试将变量的值转换为数字。删除第5、6和8行中的
+
,代码应按预期运行

当输出到标准错误时,最好使用
控制台.error

console.log('1')
var exec = require('child_process').exec;
console.log('2');
exec('node -v', function (error, stdout, stderr) {
    console.log('stdout', stdout);
    console.error('stderr', stderr);
    if (error !== null) {
        console.log('exec error: ', error);
    }
});

在每个
控制台.log
函数调用中,每个变量名前面都有一个
+
。这将尝试将变量的值转换为数字。删除第5、6和8行中的
+
,代码应按预期运行

当输出到标准错误时,最好使用
控制台.error

console.log('1')
var exec = require('child_process').exec;
console.log('2');
exec('node -v', function (error, stdout, stderr) {
    console.log('stdout', stdout);
    console.error('stderr', stderr);
    if (error !== null) {
        console.log('exec error: ', error);
    }
});