vue electron应用调exe程序

描述

用Python写了一个本地服务编译成exe程序,在electron程序启动后,自动执行exe程序

实现

  1. 使用node的child_process模块可以执行windows执行,通过指令调exe程序
javascript 复制代码
// electron/index.js
var cp = require("child_process");
// 调后台服务 serivePath: exe所在的路径
serverProcss = cp.execFile(serivePath, [], function(err,stdout,stderr){
  if(err){
    console.error(err);
  }
  console.log("stdout:",stdout)
  console.log("stderr:",stderr);
});
  1. 路径问题
  • 开发环境直接写前端目录下的路径,比如我的exe程序放到了service目录下,serivePath就可以设置为"service/xx.exe",
  • 生产环境下,资源会放到resources目录下,所以serivePath设置为"resources/service/xx.exe", 开发环境路径生的service是因为我在package.json中配置了exe路径
javascript 复制代码
// 根据环境使用不同的路径
let servicePath = 'resources/service/xx.exe'
if(process.env.NODE_ENV === 'development') {
  servicePath = 'service/xx.exe'
}

//package.json
"extraResources": {
  "from": "./service/",
  "to": "service"
},

开发路径

安装后的路径

  1. 增加:关闭electron程序结束exe服务
javascript 复制代码
import { app, BrowserWindow, dialog , ipcMain } from 'electron'
app.on('quit', () => {
  // 关闭应用程序,结束后台服务xx.exe
  cp.exec('taskkill /fi "imagename eq xx.exe" /f', function(err, stdout, stderr) {
    if(err) return console.log(err);
  })
})
相关推荐
之歆7 分钟前
DAY_18深度解析:数据类型转换与运算符全攻略(上)
前端·javascript
大家的林语冰15 分钟前
pnpm 11 发布,弃用 JSON 和 npm CLI,进化为纯 ES6 模块,新增 pnpm pack-app 等命令,供应链保护默认启用,要求 Node
前端·javascript·node.js
漓漾li25 分钟前
每日面试题-前端2
前端·react.js·面试
Alice-YUE34 分钟前
深入解析 JS 事件循环:浏览器与 Node.js 的差异全解析
前端·javascript·笔记·学习
HYCS36 分钟前
用pixijs实现fabricjs(二):对象的基础位置信息
前端·javascript·canvas
Alice-YUE37 分钟前
【无标题】
开发语言·javascript·ecmascript
淸湫39 分钟前
项目中使用了全局权限管理,请详细描述如何通过Vue Router的路由守卫来实现全局权限控制?
前端·vue.js
Twsit丶42 分钟前
ECMAScript 常用特性整理(ES6 — ES13)
javascript
雪铃儿43 分钟前
Shorebird 之外,Flutter Android 热更新还有什么选择
android·前端
李剑一1 小时前
前端必看 | Vue 刷新页面,生命周期钩子直接 "罢工",原来问题在这?90% 开发者都栽过!
前端·vue.js