electron 启动exe 程序 -
转载声明:
本文为摘录自“思否”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2021-09-08 16:07:22
electron 启动exe 程序
最近项目中,需要用 electron 来启动后台服务,后台服务是一个 exe 程序,目录在 electron 打包后的目录上一层
通过 app 来获取程序的路径
import { app, BrowserWindow } from 'electron'
// 当前的可执行文件所在目录
let appPath = app.getPath('exe')
// 获取上一层的目录 app 是当前目录名称 需要给去掉
let path = appPath.replace(/\\app\\studio.exe/, '')
再通过 node
的 child_process
来调用 cmd
执行
const exec = require('child_process').exec
// 本地需要启动的后台服务名称
let cmdStr = 'server'
let cmdPath = path
let workerProcess
function runExec () {
// 执行命令行,如果命令不需要路径,或就是项目根目录,则不需要cwd参数:
workerProcess = exec(cmdStr, {cwd: cmdPath})
// 不受child_process默认的缓冲区大小的使用方法,没参数也要写上{}: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('out code:' + code)
})
}
需要在 electron
的 ready
生命周期中调用
app.on('ready', function(){
runExec()
})
阅读 8k
前端部落
申请专栏,原有自建博客和博客园不继续维护了,歇歇
你知道吗?
0 条评论