当前位置: 首页 > 后端技术 > Node.js

Electron启动exe程序

时间:2023-04-03 22:41:08 Node.js

最近做项目需要用到electron来启动后台服务。后台服务是一个exe程序,目录在electron打包目录的上一层。程序的路径是通过appimport{app,BrowserWindow}from'electron'//当前可执行文件所在的目录上面那层。需要去掉当前目录的名字letpath=appPath.replace(/\\app\\studio.exe/,'')然后通过node的child_process调用cmd执行constexec=require('child_process')。exec//本地需要启动的后台服务名称letcmdStr='server'letcmdPath=pathletworkerProcessfunctionrunExec(){//执行命令行,如果命令不需要路径,或者是根目录项目的,不需要cwd参数:workerProcess=exec(cmdStr,{cwd:cmdPath})//不受child_process默认buffersize的限制,没有参数要写{}:workerProcess=exec(cmdStr,{})//打印正常后台可执行程序输出workerProcess.stdout.on('data',function(data){console.log('stdout:'+data)})//打印错误后台可执行程序输出workerProcess.stderr.on('data',function(data){console.log('stderr:'+data)})//退出后输出workerProcess.on('close',function(code){console.log('outcode:'+code)})}需要在electron的就绪生命周期调用app.on('ready',function(){runExEC()})