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

VUE+Electron从0开始搭建开发环境

自己做个流程日志,

一个非常典型需求:用 Node.js 20 LTS + Vue 3 + Electron 创建一个桌面应用,启动后显示一个 “Hello World” 页面,并能打包成可执行程序。

当然,我需要它全屏显示。

下面是一个 完整、清晰、可直接照做的流程👇


🧰 一、安装环境

1️⃣ 安装 Node.js 20 LTS

从官网下载安装: 🔗 https://nodejs.org/en/download

安装后验证:

node -v
npm -v

输出类似:

v20.x.x
10.x.x

2️⃣ (推荐)设置国内 npm 镜像:

npm config set registry https://registry.npmmirror.com

🧱 二、创建 Vue 3 + Vite 项目

Vue CLI 已经过时,现在 Vue 官方推荐使用 create-vue

npm create vue@latest

会输出提示,选择项目名,以及其他各种选项,这里啥也不用选

选择示例:**

✔ Project name: … hello-electron
✔ Add TypeScript? … No
✔ Add JSX Support? … No
✔ Add Vue Router for Single Page Application development? … No
✔ Add Pinia for state management? … No
✔ Add Vitest for Unit Testing? … No
✔ Add an End-to-End Testing Solution? … No
✔ Add ESLint for code quality? … No

然后:

cd hello-electron
npm install
npm run dev

浏览器打开 http://localhost:5173,能看到 Vue 3 的默认页面 ✅


⚡️ 三、集成 Electron

安装 Electron + 打包工具:

npm install electron electron-builder --save-dev

1️⃣ 创建 Electron 启动文件

在项目的目录下新建:

electron/main.js

内容如下:

// main.js
const { app, BrowserWindow } = require('electron');
const path = require('path');function createWindow() {const win = new BrowserWindow({width: 800,height: 600,fullscreen: true,          // ✅ 直接全屏frame: false,              // ✅ 不显示窗口边框和菜单栏autoHideMenuBar: true,     // ✅ 隐藏默认菜单栏(防止按 Alt 显示)webPreferences: {nodeIntegration: true,contextIsolation: false}});win.loadFile(path.join(__dirname, '../dist/index.html'));//win.webContents.openDevTools();  // 打开调试窗口
}app.whenReady().then(createWindow);app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})

2️⃣ 创建 electron/preload.js

window.addEventListener('DOMContentLoaded', () => {console.log('Preload script loaded.')
})

3️⃣ 修改 package.json

在最外层(项目根目录)中找到 scripts 部分,

"scripts": {"dev": "vite","build": "run-p type-check \"build-only {@}\" --","preview": "vite preview","build-only": "vite build","type-check": "vue-tsc --build","format": "prettier --write src/"}

修改为:

{"main": "electron/main.js","name": "eclectron_hello","version": "0.0.0","private": true,"type": "commonjs","engines": {"node": "^20.19.0 || >=22.12.0"},"scripts": {"dev": "vite","build": "vite build","preview": "vite preview","electron": "cross-env NODE_ENV=development vite & electron ./electron/main.js","electron:build": "vite build && electron-builder","build:electron": "npm run build && electron-builder"},"dependencies": {"vue": "^3.5.22","vue-router": "^4.6.3"},"devDependencies": {"@tsconfig/node22": "^22.0.2","@types/node": "^22.18.11","@vitejs/plugin-vue": "^6.0.1","@vue/tsconfig": "^0.8.1","cross-env": "^10.1.0","electron": "^38.4.0","electron-builder": "^26.0.12","npm-run-all2": "^8.0.4","prettier": "3.6.2","typescript": "~5.9.0","vite": "^7.1.11","vite-plugin-vue-devtools": "^8.0.3","vue-tsc": "^3.1.1"},"build": {"appId": "com.example.hello","productName": "HelloElectron","directories": {"output": "release"},"files": ["dist/**/*",     "electron/**/*",  "package.json"   ],"extraResources": [],"win": {"target": ["nsis"],"forceCodeSigning": false}
}}

修改vite.config.ts,添加属性,保证相对目录的识别:

base: './' ,

import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'// https://vite.dev/config/
export default defineConfig({plugins: [vue(),vueDevTools(),],base: './' ,resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
})

安装 cross-env(用于设置环境变量):

npm install cross-env --save-dev

🧪 四、开发模式运行

运行:

npm run build
# 编译生成vue发布的项目#开发阶段
npm run electron# 编译后  以管理员身份运行
npm run build:electron

⚡️ 会自动启动 Vite 开发服务器和 Electron 你会看到一个桌面窗口,显示 “Hello Vue 3” 页面 ✅

备注:

1)在打包过程中,需要使用管理员权限,也就是启动VSCODE时候,右键使用管理员运行;

2)其中,签名文件winCodeSign-2.6.0.7z 可能会下载失败,造成很多问题,自己下载并解压到对应的缓存目录。


📦 五、打包发布

其中,打包需要修改 package.json,在根元素下添加:

"build": {"appId": "com.example.hello","productName": "HelloElectron","directories": {"output": "release"},"files": ["dist/**/*","electron/**/*"],"win": {"target": ["nsis"],"icon": "public/favicon.ico"}
}

然后执行:

npm run electron:build

等待几分钟后,在 release/ 目录下会生成:

HelloElectron Setup.exe

双击即可安装运行桌面应用 ✅


🖥️ 六、最终目录结构示例

hello-electron/
├─ dist/                  # Vue 构建输出
├─ electron/
│  ├─ main.js             # Electron 主进程
│  └─ preload.js
├─ public/
├─ src/
│  ├─ App.vue
│  └─ main.js
├─ package.json
└─ vite.config.js

💡 七、可选优化选项

目标建议
自动重启 Electron安装 electron-reload
Vue 与 Electron 通信使用 contextBridge + IPC
生成 Mac/Linux 版本electron-builder 自动支持
图标更换替换 public/favicon.ico 并更新 build.win.icon

总结:完整命令流程

# 1. 安装 Node.js 20 LTS
# 2. 创建 Vue3 项目
npm create vue@latest
cd hello-electron
npm install# 3. 安装 Electron + 构建工具
npm install electron electron-builder cross-env --save-dev# 4. 新建 electron/main.js + preload.js
# 5. 修改 package.json 和vite.config.ts
# 6. 开发运行
npm run electron# 7. 打包发布
npm run electron:buildz

http://www.dtcms.com/a/524503.html

相关文章:

  • MongoDB 平替新方案:金仓多模数据库驱动电子证照国产化落地
  • 项目(一)
  • SaaS多租户架构实践:字段隔离方案(共享数据库+共享Schema)
  • 企业网站网页设计的步骤房地产网站建设需求说明书
  • 中国专门做生鲜的网站著名品牌展厅设计
  • 开发避坑指南(66):IDEA 2025 Gradle构建安全协议警告:Maven仓库HTTPS切换或允许HTTP的配置方法
  • 前端新手入门-HBuilder工具安装
  • AceContainer::Initialize()函数的分析
  • 石家庄网站建设方案咨询涉县住房与城乡建设厅网站
  • 鸿蒙Next媒体开发全攻略(ArkTS):播放、录制、查询与转码
  • vs2015网站开发基础样式福田庆三下巴
  • Hugging Face介绍
  • 要建立网站和账号违法违规行为数据库和什么黑名单企业所得税优惠税率
  • 大模型训练中的关键技术与挑战:数据采集、微调与资源优化
  • 【文献笔记】arXiv 2018 | PointSIFT
  • 如何检测和解决I2C通信死锁
  • 深度学习快速入门手册
  • 如何看待 AI 加持下的汽车智能化?带来更好体验的同时能否保证汽车安全?
  • Linux中的一些常见命令
  • 三步将AI模型转换为 DeepX 格式并完成精度评估
  • 做第一个网站什么类型天津市建筑信息平台
  • 找一个网站做优化分析app界面设计属于什么设计
  • 【开题答辩全过程】以 毕业设计选题系统的设计与实现为例,包含答辩的问题和答案
  • 语言基础再谈
  • 网站后台用什么开发网页制作怎么做多个网站
  • 每周读书与学习->JMeter主要元件详细介绍(二)函数助手
  • asp网站开发技术免费建网站模板平台
  • 前端竞态问题是什么?怎么解决?
  • 问题记录--elementui中el-form初始化表单resetFields()方法使用时出现的问题
  • 运用jieba库解决词频分析问题