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);
  })
})
相关推荐
JianZhen✓15 分钟前
面试题名词解析一
前端
会跑的葫芦怪18 分钟前
Web3开发中的前端、后端与合约:角色定位与协作逻辑
前端·web3·区块链
江城开朗的豌豆20 分钟前
TypeScript泛型:让类型也"通用"的魔法
前端·javascript
江城开朗的豌豆31 分钟前
TypeScript函数:给JavaScript函数加上"类型安全带"
前端·javascript
凌览32 分钟前
Node.js + Python 爬虫界的黄金搭档
前端·javascript·后端
Java 码农39 分钟前
vue 使用vueCli 搭建vue2.x开发环境,并且指定ts 和less
前端·vue.js·less
♡喜欢做梦1 小时前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee
欧阳码农1 小时前
AI提效这么多,为什么不试试自己开发N个产品呢?
前端·人工智能·后端
chenbin___1 小时前
Omit<>的用法
开发语言·前端·javascript
嫂子的姐夫1 小时前
21-webpack介绍
前端·爬虫·webpack·node.js