使用electron将vue项目打包成exe

news/2025/1/22 17:19:06/

文章目录

  • 一、前言
  • 二、实现方法
    • 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.ppmy.cn/news/10804.html

相关文章

细思c语言之《c语言程序_现代方法 第2版》——读书心得(3)

c语言程序_现代方法 第2版第四章 表达式4.1 算术表达式4.2 赋值运算符4.3 表达式求值的顺序第五章 选择语句第四章 表达式 4.1 算术表达式 &#xff08;1&#xff09;“由实现定义”的行为&#xff1a;c语言故意对c语言的部分内容未加定义&#xff0c;并认为其细节可以由“实…

深入探索Flutter性能优化

前言 Flutter 作为目前最火爆的移动端跨平台框架&#xff0c;能够帮助开发者通过一套代码库高效地构建多平台的精美应用&#xff0c;并支持移动、Web、桌面和嵌入式平台。对于 Android 来说&#xff0c;Flutter 能够创作媲美原生的高性能应用&#xff0c;但是&#xff0c;在较…

【Python语言基础】——Python 数据类型

文章目录 一、Python 数据类型一、Python 数据类型 内置数据类型 在编程中,数据类型是一个重要的概念。 变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。 在这些类别中,Python 默认拥有以下内置数据类型: 文本类型: str 数值类型: int, float, complex 序…

重发布-路由策略实验1(1.8)

目标&#xff1a; 1、首先为每个路由器配置环回和每个接口的ip r1&#xff1a; [r1]interface lo0 [r1-LoopBack0]ip add 1.1.1.1 24 [r1-LoopBack0]int gi 0/0/0 [r1-GigabitEthernet0/0/0]ip add 12.1.1.1 24 [r1-GigabitEthernet0/0/0]int gi 0/0/1 [r1-GigabitEthernet0/…

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

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

Educational Codeforces Round 141 (Rated for Div. 2) A ~ C 题解

A. Make it Beautiful 题意 题目链接 给定一个长度为nnn的数组&#xff0c;将该数组重新排列使得数组内的每一个数都不等于其前面的所有数字之和。 思路 首先想到的应该是降序排列&#xff0c;因为所有数都是大于000的&#xff0c;但是因为存在重复的数&#xff0c;比如336…

Java学习(54)Java继承——final关键字的使用

Java继承——final关键字的使用1. final修饰类2. final修饰方法3. final修饰方法内的局部变量4. final修饰成员属性5. final修饰引用数据类型的实例化对象6. final是不能修饰构造方法的7. 小结1. final修饰类 (1) 在Animal类中添加final关键字&#xff1a;public final class …

主机加固对服务器防勒索病毒有哪些好处

​ 近年来&#xff0c;计算机以及互联网应用在中国得到普及和发展&#xff0c;已经深入到社会每个角落&#xff0c;政府&#xff0c;经济&#xff0c;军事&#xff0c;社会&#xff0c;文化和人们生活等各方面都越来越依赖于计算机和网络&#xff0c;电子政务&#xff0c;无纸办…