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);
  })
})
相关推荐
whisperrr.1 小时前
【JavaWeb12】数据交换与异步请求:JSON与Ajax的绝妙搭配是否塑造了Web的交互革命?
前端·ajax·json
烂蜻蜓2 小时前
前端已死?什么是前端
开发语言·前端·javascript·vue.js·uni-app
Rowrey3 小时前
react+typescript,初始化与项目配置
javascript·react.js·typescript
谢尔登3 小时前
Vue 和 React 的异同点
前端·vue.js·react.js
祈澈菇凉7 小时前
Webpack的基本功能有哪些
前端·javascript·vue.js
小纯洁w8 小时前
Webpack 的 require.context 和 Vite 的 import.meta.glob 的详细介绍和使用
前端·webpack·node.js
想睡好8 小时前
css文本属性
前端·css
qianmoQ8 小时前
第三章:组件开发实战 - 第五节 - Tailwind CSS 响应式导航栏实现
前端·css
记得早睡~8 小时前
leetcode150-逆波兰表达式求值
javascript·算法·leetcode
zhoupenghui1688 小时前
golang时间相关函数总结
服务器·前端·golang·time