1、说明child_process模块??是Node.js的原始模块:main函数:执行命令行命令该模块的功能主要由child_process.spawn()函数提供2、exec和spawn的区别2-1exec执行命令const{exec}=require('child_process');exec('ls-la/usr',(error,stdout,stderr)=>{console.log(error);console.log(stdout);console.日志(标准错误);});第一个参数是要执行的命令,命令之间的参数之间用空格隔开。第二个参数是回调函数,有3个参数。回调中的第一个参数:命令执行错误会有值,否则在回调中为null第二个参数:子进程正常输出的内容回调中的第三个参数:子进程执行错误的输出2-2spawn命令const{spawn}=require('child_process');constls=spawn('ls',['-la','/usr']);ls.stdout.on('data',(data)=>{console.log(`stdout:${data}`);});ls.stderr.on('data',(data)=>{console.log(`stderr:${data}`);});ls.on('close',(code)=>{console.log(`subProcessexitcode:${code}`);});第一个参数是命令,第二个参数是一个数组,数组中的每一个元素都是执行命令所需要的参数。内容需要以流的形式输出。2-3两者的比较相同:都可以用来执行命令行命令。区别:exec是用来执行命令的。命令和命令后面的参数写成字符串作为函数的第一个参数spawn,用于执行命令。命令和命令后面的参数是分开写的。exec的输出在回调中输出,一次性分配200K的内存空间。如果超过这个大小,会报错spawn输出内容以流的形式输出,不分配空间,不报错。总结:spawn比exec使用更广,所以可以用尽可能使用spawn。
