Electron + Vue 3 + Node.js 的跨平台桌面应用示例项目

Electron + Vue + Node.js 原生模块学习示例

项目简介

这是一个结合 Electron + Vue 3 + Node.js 的跨平台桌面应用示例项目,用于学习和展示 Node.js 原生模块在 Electron 环境中的使用。

技术栈

  • Electron: ^39.2.7 - 跨平台桌面应用开发框架
  • Vue: ^3.5.24 - 渐进式 JavaScript 框架
  • Vite: ^7.2.4 - 下一代前端构建工具
  • Node.js: >= 20.0.0 (推荐使用 LTS 版本)

环境要求

Node.js 版本

推荐使用 Node.js 20.x LTS 版本,因为 Electron 39 基于 Node.js 20.x 构建。

你可以通过以下命令检查当前 Node.js 版本:

bash 复制代码
node -v

如果需要管理多个 Node.js 版本,推荐使用:

  • nvm (Windows/Linux/macOS)
  • n (macOS/Linux)

项目结构

csharp 复制代码
.
├── electron/              # Electron 主进程代码
│   ├── main.js           # 主进程入口文件
│   └── preload.js        # 预加载脚本
├── src/                  # Vue 渲染进程代码
│   ├── assets/           # 静态资源
│   ├── App.vue           # 根组件
│   ├── main.js           # 渲染进程入口
│   └── style.css         # 全局样式
├── public/               # 静态资源
├── dist-electron/        # Electron 构建产物
├── dist/                 # Vue 构建产物
├── dist-installer/       # 安装包产物
├── electron-builder.json # Electron 构建配置
├── package.json          # 项目依赖和脚本
└── vite.config.js        # Vite 配置

安装依赖

bash 复制代码
npm install

开发模式

启动开发服务器:

bash 复制代码
npm run dev
# 或
npm run electron:dev

这将同时启动 Vite 开发服务器和 Electron 应用。

打包构建

构建生产版本

bash 复制代码
npm run build
# 或
npm run electron:build

打包配置

项目使用 electron-builder 进行打包,配置文件为 electron-builder.json

打包产物
  • Windows : 生成 .exe 安装包和绿色版文件夹
  • macOS : 生成 .dmg 镜像文件
  • Linux : 生成 .deb.rpm 等格式
自定义打包配置

你可以在 electron-builder.json 中修改打包配置,例如:

  • 应用名称
  • 图标
  • 打包格式
  • 依赖项

项目功能

  • 展示 Vue 3 在 Electron 中的基本使用
  • 演示 Node.js 原生模块的调用
  • 提供完整的开发和构建流程
  • 包含预加载脚本示例

常见问题

1. 安装依赖失败

如果安装依赖时遇到网络问题,可以尝试使用淘宝镜像:

bash 复制代码
npm install --registry=https://registry.npmmirror.com

2. 打包失败

  • 确保 Node.js 版本符合要求
  • 检查是否有足够的磁盘空间
  • 查看控制台错误信息

3. 应用启动失败

  • 检查端口是否被占用
  • 查看开发者工具中的错误信息

许可证

MIT License

作者

Developer

项目地址 gitee.com/niehuizhe/e...

相关推荐
iCOD3R30 分钟前
Skill - kill-ai-slop 解决“AI 味”样式
前端·css·ai编程
皮音1 小时前
Skill 在项目中的实践 —— 从 Agent 困境到 Skill 工程化
前端
大龄秃头程序员1 小时前
RN 0.86 新架构实战:TurboModule + Fabric 组件 + iOS 原生容器,完整代码开源
前端·react native
这是个栗子1 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
Hilaku1 小时前
Vue 和 React 真正的差距,不在语法,而在团队犯错成本
前端·javascript·程序员
研☆香1 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript
Liora_Yvonne2 小时前
目录结构到底怎么设计?别再把 components 和 utils 当垃圾桶了
前端
柯克七七2 小时前
我把 bug 修得太干净了,测试组以为这个模块本来就没问题
前端·javascript·typescript
Null1552 小时前
浏览器唤起桌面端应用(终极篇)
前端·javascript
Quz2 小时前
QML Label 完整用法与 Text 组件选型
前端·qt