使用electron将vue项目打包成exe

news2025/1/21 8:59:18

文章目录

  • 一、前言
  • 二、实现方法
    • 1.跑通示例代码 electron-quick-start
      • <1>clone示例代码
      • <2>进入项目根目录,下载依赖
      • <3>测试运行
    • 2.打包自己的 vue 项目
    • 3.将vue项目整合到示例代码中打包exe
      • <1>将打包好的 dist 文件夹复制到示例代码 electron-quick-start 根目录
      • <2>修改main.js文件
      • <3>删除 electron-quick-start 示例本身的 index.html 【这个没用了,可以删了】
      • <4>修改package.json文件
      • <5>打包exe


一、前言

node.js 版本要在 17+
建议使用 17.9.1 的 node 和 8.11.0 的 npm
node和npm的版本对应关系如下,node 可以去这里下载
https://nodejs.org/zh-cn/download/releases/
下载这个 x86.msi 的,安装时候改下安装位置,然后一直下一步就行了
在这里插入图片描述
node 所对应的 npm 用如下命令安装

npm install -g npm@8.11.0

二、实现方法

1.跑通示例代码 electron-quick-start

<1>clone示例代码

git clone https://github.com/electron/electron-quick-start

项目结构如下
在这里插入图片描述

<2>进入项目根目录,下载依赖

# 进入项目目录
cd electron-quick-start
# 下载项目需要的依赖
npm install
# 安装 electron 
npm install electron --save-dev
# 安装 packager 包依赖
npm install electron-packager --save-dev

<3>测试运行

# 运行一下 Demo 看看是否可以成功
npm run start

运行结果如下
在这里插入图片描述
ps:
npm 安装有些包会被墙掉,可能会失败,报错如下:在这里插入图片描述
如果失败了可以安装 cnpm,安装 cnpm 的方法如下:

# 安装并指定淘宝源
npm install -g cnpm --registry=https://registry.npm.taobao.org

然后把上面的 npm 命令都替换成 cnpm 即可,替换后的代码如下:


# 克隆示例代码
git clone https://github.com/electron/electron-quick-start
# 进入项目目录
cd electron-quick-start
# 下载项目需要的依赖
cnpm install
# 安装 electron 
cnpm install electron --save-dev
# 安装 packager 包依赖
cnpm install electron-packager --save-dev
# 运行一下 Demo 看看是否可以成功
cnpm run start


2.打包自己的 vue 项目

到自己已经写好的vue项目中,输入打包命令

npm run build

3.将vue项目整合到示例代码中打包exe

<1>将打包好的 dist 文件夹复制到示例代码 electron-quick-start 根目录

目录结构如下:
在这里插入图片描述

<2>修改main.js文件

在这里插入图片描述
ps:
index.html 修改为 ./dist/index.html

<3>删除 electron-quick-start 示例本身的 index.html 【这个没用了,可以删了】

在这里插入图片描述

<4>修改package.json文件

此处 scripts 字典替换成如下代码
在这里插入图片描述

"scripts": {
    "start": "electron .",
	"packager": "electron-packager ./ App --platform=win32 --arch=x64 --overwrite"
},

<5>打包exe

npm run packager

执行文件在项目根目录下的 App-win32-x64 文件夹中,叫 App.exe
在这里插入图片描述
双击执行,效果如下

在这里插入图片描述

ps:
如果执行打包命令时下载文件很慢,那就执行这条命令,把 ELECTRON 下载的地址切换为淘宝的镜像

npm config set ELECTRON_MIRROR https://npm.taobao.org/mirrors/electron/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/151873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sklearn之OPTICS聚类

文章目录简介sklearn实现cluster_optics_dbscan简介 OPTICS算法&#xff0c;全称是Ordering points to identify the clustering structure&#xff0c;是一种基于密度的聚类算法&#xff0c;是DBSCAN算法的一种改进。 众所周知&#xff0c;DBSCAN算法将数据点分为三类&#…

ResNet精读(2)

FLOPs &#xff1a;整个网络要计算多少个浮点运算 卷积层的浮点运算等价于 输入的高*输入的宽*通道数*输出通道数再乘以卷积核的高和宽再加上全连接的一层 我们发现训练的时候的精度是要比测试精度来的高的在一开始&#xff0c;这是因为训练的时候用了数据增强 使得训练误差…

2022年莱佛士大盘点 ,设计的种子遍地开花!

2022似乎过得尤其之快&#xff0c;反复的居家隔离和线上网课&#xff0c;似乎给2022蒙上了一层雾蒙蒙的灰色。但2022总还给我们留下了些东西&#xff0c;在莱佛士设计学院&#xff0c;我们共同见证了梦想的种子在设计的各个领域遍地开花。现在我们一起来看看2022年莱佛士学生们…

广义表——LISP的基石

线性表中存放的是同一类型的元素&#xff0c;而广义表是线性表的推广&#xff0c;即广义表中除包含类型相同的元素外&#xff0c;还可以包含具有其自身结构的元素。在人工智能领域使用十分广泛的 LISP语言中&#xff0c;广义表是一种基本数据类型&#xff0c;LISP 语言中的数据…

Vue3案例-todoMVC-pinia版 (可跟做练手)

列表展示功能 &#xff08;1&#xff09; 在main.js中引入pinia import { createApp } from vue import App from ./App.vue import { createPinia } from pinia import ./styles/base.css import ./styles/index.cssconst pinia createPinia() createApp(App).use(pinia).m…

Spring源码学习~11、Bean 的加载步骤详解(二)

Bean 的加载步骤详解&#xff08;二&#xff09; 一、循环依赖 1、什么是循环依赖 循环依赖就是循环引用&#xff0c;即两个或多个 bean 互相之间持有对方&#xff0c;如下图&#xff1a; 循环引用不是循环调用&#xff0c;循环调用是方法之间的环调用&#xff0c;循环调用是…

谷粒学院——Day18【权限管理Spring Security、配置中心Nacos、代码托管git】

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

Linux搭建Gitlab保姆级教程

文章目录1、gitlab安装1.1、gitlab介绍1.1.1、概念1.1.2、gitlab与github的区别1.1.3、gitlab的优势1.1.4、gitlab主要服务构成1.1.5、gitlab的工作流程1.2、准备工作1.3、安装1.4、配置1.5、启动1.6、测试2、gitlab安装目录3、gitlab常用命令4、注册账号5、gitlab相关设置5.1、…

上半年要写的博客文章23

上半年要写的博客文章21 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个…

ArcGIS基础实验操作100例--实验76按格网统计点要素

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验76 按格网统计点要素 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

java EE 初阶 — CAS 的介绍

文章目录CAS1. 什么是 CAS2. CAS 是怎么实现的3. CAS 有哪些应用3.1 实现原子类3.2 实现自旋锁4. CAS 的 ABA 问题4.1 什么是 ABA 问题4.2 ABA 问题引来的 BUG4.3 解决方案5. 相关面试题CAS 1. 什么是 CAS CAS&#xff1a;全称 Compare and swap&#xff0c;字面意思&#xff…

设计模式——工厂方法模式

文章目录1. 工厂方法模式的定义2. 工厂方法模式的类图3. 工厂方法模式的作用4. 工厂方法模式的实现1. 工厂方法模式的定义 定义了一个创建对象的接口&#xff0c;但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。 2. 工厂方法模式的类图 3. 工厂方法模式…

[教程]一文搞懂STM32使用DHT11采集温湿度

1、DHT11简介 DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术&#xff0c;确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件&#xff0c;并与一个高性能8…

GO语言基础-08-内建函数-make()、new()

文章目录1. make1.1 概述1.2 示例&#xff08;make切片&#xff09;1.3 示例&#xff08;make map&#xff09;1.4 示例&#xff08;make 通道&#xff09;2. new2.1 概念2.2 示例&#xff08;new 切片&#xff09;2.3 示例&#xff08;new和make对比&#xff09;2.4 示例&…

Java基础算法每日5道详解(2)

83. Remove Duplicates from Sorted List 从排序列表中删除重复项 Given the head of a sorted linked list, delete all duplicates such that each element appears only once. Return the linked list sorted as well. Example 1: Input: head [1,1,2] Output: [1,2]Exa…

20230109测试ToyBrick的RK3588开发板运行Buildroot的V20220811版本

20230109测试ToyBrick的RK3588开发板运行Buildroot的V20220811版本 2023/1/9 14:25 开发板&#xff1a;Toybrick的TB-RK3588X开发板 SDK&#xff1a;RK3588_LINUX_20220811\rk3588-linux-20220811.tar.gz_06 H:\BaiduNetdiskDownload\RK3588_LINUX_20220811 rk3588-linux-2022…

【SQLyog错误号码2058解决办法】

当你遇到下图这个错误时&#xff0c;是由于SQLyog在8.0以上版本采用了新的加密方式。 解决办法&#xff1a; win R打开 &#xff0c; 输入cmd&#xff0c;打开命令行窗口&#xff0c; 然后连接你的SQLyog版本的服务器&#xff0c; mysql -uroot -P3306 -p注意&#xff1a;…

【Kotlin】数字类型 ( 安全转换函数 | 浮点型转整型 )

文章目录一、安全转换函数二、浮点型转整型一、安全转换函数 在 Kotlin 中 , 将 字符串 String 类型 转为 数字类型 , 如果 字符串 代表的数字类型 与 要换转的 数字类型 不匹配 , 就会出异常 ; 如 : 执行如下代码 , 就会报异常 ; 字符串内容是 0.5 , 显然是一个 Double 类…

Kotlin Flow响应式编程,StateFlow和SharedFlow

本文同步发表于我的微信公众号&#xff0c;扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注&#xff0c;每个工作日都有文章更新。 大家好&#xff0c;今天是Kotlin Flow响应式编程三部曲的最后一篇。 其实回想一下我写这个Kotlin Flow三部曲的初衷&#xff0c;主要还是因为…

基于瑞芯微平台cif接口dvp相机的视频接入(ov2640、rv1126为例)

基于瑞芯微平台cif接口dvp相机的视频接入&#xff08;ov2640、rv1126为例&#xff09;名词定义视频格式sensor与ispI2CXCLK行场同步信号DATA抓图名词定义 CIF&#xff0c;指RK芯片中的VIP模块&#xff0c;用以接收Sensor数据并保存到Memory中&#xff0c;仅转存数据&#xff0c…