【vue、Electron】搭建一个Electron vue项目过程、将前端页面打包成exe 桌面应用
文章目录
前言
在Electron应用中结合使用Vue.js,可以创建功能强大的桌面应用程序。为了将Electron与Vue.js集成,你可以使用electron-vue,一个流行的工具包,它简化了在Electron项目中使用Vue.js的过程。
该篇文章参考:搭建Electron vue项目过程
使用 electron-vue 创建项目
electron-vue 是一个已经配置好的项目模板,集成了Vue.js和Electron,可以快速启动开发。以下是使用electron-vue创建项目的步骤:
1. 安装 vue-cli(如果未安装)
如果你还没有安装vue-cli,需要先安装它:
npm install -g @vue/cli
2. 使用 electron-vue 模板创建项目
使用以下命令创建一个新项目:
vue create my-project
然后,在询问要使用的模板时,选择Manually select features并选择需要的特性(如Babel、Router等)。创建完成后,进入项目目录:
cd my-project
3. 安装和配置 electron-builder
安装electron-builder来处理打包和发布:
vue add electron-builder
4. 运行Electron项目
在安装完所有依赖后,你可以通过以下命令来启动你的Electron应用:
npm run electron:serve
这个命令会启动Electron,并在Vue的开发服务器上运行你的应用。
5. 打包应用
要打包你的Electron应用,可以运行以下命令:
npm run electron:build
这个命令会生成一个适合分发的应用程序包。
可能遇到的问题
解决Electron vue首次启动巨慢无法加载
参考文章:解决Electron vue-cli3.0+首次启动巨慢无法加载 vue-devtool 插件
首次启动可能会等待很久,出现以下信息:
INFO Launching Electron...
Failed to fetch extension, trying 4 more times
Failed to fetch extension, trying 3 more times
Failed to fetch extension, trying 2 more times
如图

解决方案:
找到background.js,将下面代码注释:
// import installExtension, { VUEJS3_DEVTOOLS } from 'electron-devtools-installer'
执行npm run electron:build打包慢
如果遇到执行打包命令反应很慢,如下

具体代码是:
electron-builder version=22.14.13 os=10.0.22000
• description is missed in the package.json appPackageFile=C:\Users\16566\Desktop\demo\my-project\dist_electron\bundled\package.json·
• author is missed in the package.json appPackageFile=C:\Users\16566\Desktop\demo\my-project\dist_electron\bundled\package.json
• writing effective config file=dist_electron\builder-effective-config.yaml
• packaging platform=win32 arch=x64 electron=11.5.0 appOutDir=dist_electron\win-unpacked
• downloading url=https://github.com/electron/electron/releases/download/v11.5.0/electron-v11.5.0-win32-x64.zip size=78 MB parts=8
• canceling signal=interrupt
• cancelled by SIGINT
• downloaded url=https://github.com/electron/electron/releases/download/v11.5.0/electron-v11.5.0-win32-x64.zip duration=1m11.907s
• cannot unpack electron zip file, will be re-downloaded error=zip: not a valid zip file
解决方法如下:
参考文章:electron-builder 打包过慢解决

上图这个目录下找到这个文件 将以下内容粘贴进去就可以了
registry=https://registry.npmmirror.com/
disturl=https://registry.npmmirror.com/-/binary/node/
sass_binary_site=https://registry.npmmirror.com/node-sass
phantomjs_cdnurl=https://registry.npmmirror.com/phantomjs
chromedriver_cdnurl=https://registry.npmmirror.com/-/binary/chromedriver/
operadriver_cdnurl=https://registry.npmmirror.com/-/binary/operadriver/
electron_mirror=https://registry.npmmirror.com/-/binary/electron/
electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/
always-auth=false
如何设置打包的logo、设置exe图标
参考文章:
electron打包应用logo及名称更改
5 分钟配置好 Electron 应用的图标
Electron 打包安装包 更换系统图标(Windows)
可能使用的工具:
图片转ICO、ICO图标生成
准备好图标文件icon.png,然后在background.js 中 找到并添加一行代码
const win = new BrowserWindow({
width: 1200,
height:800,
webPreferences: {
// Use pluginOptions.nodeIntegration, leave this alone
// See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
contextIsolation: !process.env.ELECTRON_NODE_INTEGRATION,
},
icon: __dirname + '/icon.png' // 设置应用图标路径
});
添加后的文件代码:

再次执行打包命令 打包后的logo就更换好了

设置页面程序的大小、窗口大小
在background.js中找到width与height 就是窗口的大小

如何设置打开窗口的名称/标题
在background.js中添加代码,如下图

添加后的效果图

如何设置打包后exe的名称
第一种方法:找到package.json文件 添加下面代码
"productName": "阿德泰产线负载测试-v1.0.1-adt-1200tk4",
添加代码后的文件图

第二种方法:找到vue.config.js 文件添加下面代码
参考文章:vue+electron-builder打包桌面应用程序改变其名字
module.exports = {
runtimeCompiler: true,
pluginOptions: {
electronBuilder: {
builderOptions: {
'productName': '芯片测试数据分析'
//此处表示打包后的桌面应用程序的名字,可以是中文
}
}
},
}
添加代码后的文件图

这样打包后的文件名就是按照自定义的了
其他注意事项
- 主进程和渲染进程:在使用Vue.js时,注意将UI相关的逻辑放在渲染进程中,而业务逻辑可以放在Electron的主进程中。
- 调试:你可以使用Chrome DevTools调试渲染进程中的Vue.js代码。electron-builder 也支持热重载功能,可以方便地进行调试。
- Vuex 和 Vue Router:vue-cli-plugin-electron-builder 支持Vuex和Vue Router,适用于构建复杂的Electron应用。
【vue、Electron】搭建一个Electron vue项目过程、将前端页面打包成exe 桌面应用的更多相关文章
- Electron+Vue – 基础学习(2): 项目打包成exe桌面应用
项目创建完成,启动正常,接下来就是项目打包了.将测试Demo打包成exe桌面应用,点击exe文件,运行项目. 书接上文,创建项目有三种方式 Git拷贝.直接创建:通过electron社群提供的命令行工 ...
- Electron – 基础学习(2): 项目打包成exe桌面应用 之electron-packager
项目创建完成,启动正常,接下来就是项目打包了.将测试Demo打包成exe桌面应用,点击exe文件,运行项目. 书接上文,创建项目有三种方式 Git拷贝.直接创建:通过electron社群提供的命令行工 ...
- Electron – 基础学习(3): 项目打包成exe桌面应用 之electron-builder
前次用 electron-packager 打包成功,这次改用 electron-builder 打包,然后根据项目中实际需要进行选择使用. 第一步:全局安装 electron-builder,便于系 ...
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- vue + skyline 搭建 一个开发环境
1.之前用的是ext + skyline搭建环境 ,正好最近是做前端的事情,有时间用vue + skyline 搭建一个三维场景 2.准备vue 2.x ,UI 用的是iview 和element ...
- asp.netmvc 三层搭建一个完整的项目
接下来用 asp.net mvc 三层搭建一个完整的项目: 架构图: 使用的数据库: 一张公司的员工信息表,测试数据 解决方案项目设计: 1.新建一个空白解决方案名称为Company 2.在该解决方案 ...
- 如何搭建一个WEB服务器项目(二)—— 对数据库表进行基本的增删改查操作
使用HibernateTemplate进行增删改查操作 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出 ...
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目
原文:Java web 项目搭建 Java web 项目搭建 简介 在上一节java web环境搭建中,我们配置了开发java web项目最基本的环境,现在我们将采用Spring MVC+Spring ...
- 从零开始的Spring Boot(1、搭建一个Spring Boot项目Hello World)
搭建一个Spring Boot项目Hello World 写在前面 从零开始的Spring Boot(2.在Spring Boot中整合Servlet.Filter.Listener的方式):http ...
- Spring框架——事务管理方式搭建一个小的项目
学习Spring框架,通过事务管理的方式搭建一个小的项目,该项目可以查询对数据库中的图书库存数量进行修改. 首先,使用MVC分层的设计模式思想搭建项目目录结构. 此部分代码源码之中都有相关注释,所以尽 ...
随机推荐
- GStreamer开发笔记(九):gst-rtcp-server安装和部署实现简单的rtsp-server服务器推流Demo
前言 Gstreamer还有一个重要的功能就是充当rtsp流媒体服务器. 注意 本ubuntu是虚拟机,对延迟可能影响较大,延迟可作为参考,物理机可能更快. Demo RTP ...
- mysql数据库优化--九五小庞
- FFmpeg开发笔记(七十八)采用Kotlin+Compose的NextPlayer播放器
<FFmpeg开发实战:从零基础到短视频上线>一书的"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上播放视频,基于FFmpeg的国产播放器开 ...
- webdriver中的三种等待
1.强制等待:sleep()设置固定休眠时间,单位为秒.由Python的time包提供, 导入time包后就可以使用. 缺点:不智能,使用太多的sleep会影响脚本运行速度. 2.隐式等待:impli ...
- C语言数据结构-单链表
1.什么是链表,结构体变量与结构体变量连接起来 2.节点 3.链表编写过程 4.创建链表 5.创建节点 6.打印链表 7.节点插入(表头法插入) 8.测试 9.链表删除,指定位置删除
- 【图书介绍】清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》,专为解决实际问题而生
前 言 任何软件系统都需要软件测试人员去进行测试.未来,不管软件系统怎么变化,软件测试都是一个非常重要且不会被淘汰的领域,而性能测试又是软件测试中最重要的一个环节.软件系统的性能最关乎用户的体验 ...
- K - Kindergarten Physics
https://vjudge.net/contest/386568#problem/K Zhang3 a participant of IPhO (Immortal Physics Olympiad) ...
- 开源能源管理系统(EMS)深度解析:安全自主可控与实践应用
一.开源能源管理系统的核心特点 开源 EMS 基于开源软件架构,通过集成能源监测.数据分析与优化功能,为企业提供高效能源管理方案,其核心优势体现在: 开放性与可定制性:开源代码允许企业根据业务需求深度 ...
- 解决Dbeaver能正常连接到数据库,但是每次打开都弹出来驱动设置
DBeaver下载驱动成功,也能正常连接到数据库,但是每次打开都弹出来驱动设置 最近使用pg数据库,用的DBeaver,能正常访问数据库,就是每次就都弹出来驱动设置,试了网上很多办法都没有解决,无意间 ...
- ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型
https://github.com/THUDM/ChatGLM-6B ChatGLM-6B 是一个开源的.支持中英双语的对话语言模型,基于 General Language Model (GLM) ...