当前位置: 首页 > news >正文

使用Vue3开发Electorn桌面应用

环境搭建

确保Node.js版本≥16,安装Vue CLI和Electron Builder:

npm install -g @vue/cli
vue create vue-electron-project
cd vue-electron-project
vue add electron-builder

项目结构调整

默认生成的目录结构中:

/public         静态资源
/src            主应用代码/main         Electron主进程代码/renderer     Vue渲染进程代码/common       共享代码

主进程配置

修改src/main/background.js,配置窗口属性:

const win = new BrowserWindow({width: 1200,height: 800,webPreferences: {nodeIntegration: true,contextIsolation: false}
})

通信机制

使用ipcMainipcRenderer进行进程间通信:

// 主进程
ipcMain.handle('dialog:open', async () => {const { filePaths } = await dialog.showOpenDialog()return filePaths
})// 渲染进程
const files = await ipcRenderer.invoke('dialog:open')

生产环境打包

配置vue.config.js调整打包设置:

pluginOptions: {electronBuilder: {builderOptions: {appId: 'com.example.app',win: {target: 'nsis'}}}
}

原生API调用

通过contextBridge安全暴露API:

// preload.js
contextBridge.exposeInMainWorld('electronAPI', {openFile: () => ipcRenderer.invoke('dialog:open')
})// Vue组件
window.electronAPI.openFile()

调试技巧

开发时运行两个命令窗口:

npm run electron:serve  # 开发模式
npm run electron:build  # 生产构建

使用Vue DevTools和Electron的开发者工具组合调试。

http://www.lryc.cn/news/573089.html

相关文章:

  • Maven-添加子模块
  • Vue2 day02
  • 记录一次:Java Web 项目 CSS 样式/图片丢失问题:一次深度排查与根源分析
  • 【STM32】STM32的中断系统寄存器NVIC、EXTI
  • Leetcode 440. 字典序的第K小数字
  • C++ CAN总线数据处理框架解析
  • 力扣1477. 找两个和为目标值且不重叠的子数组
  • YOLO官方自带的数据集Dotav1,直接训练
  • Python爬虫实战:研究threading相关技术
  • 状态模式详解
  • Filecoin系列 - IPLD 技术分析
  • verilog HDLBits刷题“Module shift8”--模块 shift8---模块和向量
  • Python 的内置函数 hasattr
  • 中国设计 全球审美 | 安贝斯新产品发布会:以东方美学开辟控制台仿生智造新纪元
  • 【Koa系列】10min快速入门Koa
  • 蓝牙 5.0 新特性全解析:传输距离与速度提升的底层逻辑(面试宝典版)
  • 项目开发中途遇到困难的解决方案
  • 深入解析BERT:语言分类任务的革命性引擎
  • 创业知识概论
  • tkinter Entry(输入框)组件学习指南
  • 加密货币:比特币
  • 5.3 LED字符设备驱动
  • HarmonyOS 6 + 盘古大模型5.5
  • 【Python】Excel表格操作:ISBN转条形码
  • 西门子S7通信协议抓包分析应用
  • 【入门级-基础知识与编程环境:NOI以及相关活动的历史】
  • AI 产品的“嵌点”(Embedded Touchpoints)
  • python打卡day37
  • 智能体互联网新闻速递及深度分析【250620】
  • STM32[笔记]--开发环境的安装