electron-vite打包踩坑记录

electron-vite打包踩坑记录

在这里插入图片描述

大前端已成趋势,用electron开发桌面端应用越来越普遍

近期尝试用electron+vite开发了个桌面应用,electron-vite地址,可用使用vue开发,vite打包,这样就很方便了

但是,我尝试了一下打包,发现各种坑,先记录一下

先看下package.json文件:

{
  "name": "easychat",
  "version": "1.0.0",
  "description": "An Electron application with Vue",
  "main": "./out/main/index.js",
  "author": "example.com",
  "homepage": "https://electron-vite.org",
  "scripts": {
    "format": "prettier --write .",
    "lint": "eslint . --ext .js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix",
    "start": "electron-vite preview",
    "dev": "electron-vite dev",
    "build": "electron-vite build",
    "postinstall": "electron-builder install-app-deps",
    "build:unpack": "npm run build && electron-builder --dir",
    "build:win": "npm run build && electron-builder --win",
    "build:mac": "npm run build && electron-builder --mac",
    "build:linux": "npm run build && electron-builder --linux"
  },
  "dependencies": {
    "@electron-toolkit/preload": "^3.0.1",
    "@electron-toolkit/utils": "^3.0.0",
    "@imengyu/vue3-context-menu": "^1.3.8",
    "axios": "^1.7.7",
    "dplayer": "^1.27.1",
    "electron-store": "^8.1.0",
    "element-plus": "^2.8.3",
    "express": "^4.18.2",
    "fluent-ffmpeg": "^2.1.2",
    "fs-extra": "^11.2.0",
    "js-md5": "^0.8.3",
    "moment": "^2.30.1",
    "pinia": "^2.1.7",
    "pinia-plugin-persistedstate": "^4.1.1",
    "rebuild": "^0.1.2",
    "sass": "^1.79.1",
    "sass-loader": "^13.3.2",
    "sqlite3": "^5.1.7",
    "v-viewer": "^3.0.11",
    "vue-cookies": "^1.8.3",
    "vue-router": "^4.2.5",
    "ws": "^8.16.0"
  },
  "devDependencies": {
    "@electron-toolkit/eslint-config": "^1.0.2",
    "@rushstack/eslint-patch": "^1.10.3",
    "@vitejs/plugin-vue": "^5.0.5",
    "@vue/eslint-config-prettier": "^9.0.0",
    "asarmor": "^2.0.0",
    "electron": "^31.0.2",
    "electron-builder": "^24.13.3",
    "electron-vite": "^2.3.0",
    "eslint": "^8.57.0",
    "eslint-plugin-vue": "^9.26.0",
    "node-gyp": "^10.0.1",
    "prettier": "^3.3.2",
    "vite": "^5.3.1",
    "vue": "^3.4.30"
  }
}

打包成Windows下的exe文件命令为npm run build:win

一、certificate has exired or is not vet valid报错

执行打包命令:

npm run build:win

报错如下:

image-20241011090735579

从报错内容上来看,应该是从淘宝镜像下载electron压缩包时报错,报错原因是证书过期了,我看了一下我的镜像设置

镜像设置命令是:

yarn config list  

前提是全局安装了yarn命令

当前配置如下:

image-20241011091205899

很明显,electron_mirror地址用的淘宝的,所以需要更改,更改命令如下:

npm config set ELECTRON_MIRROR=https://registry.npmmirror.com/-/binary/electron/

更改后的配置如下:

image-20241011091354200

再执行打包命令,就不会出现证书过期的问题了

但是,又出现了下面的问题

二、The name of the file cannot be resolved by the system.报错

image-20241011091602278

报这个错让我百思不得其解,从报错的问题来看,报错原因是指向了node_modules,也就是包管理出了问题,因此,我换了个打包工具,用yarn来打包

yarn打包命令:

yarn run build:win

依然报相同的错

于是,我用yarn重新安装了一下包,执行命令:

yarn stall

然后再执行yarn打包命令yarn run build:win

image-20241011092249135

52秒后打包成果,打包出来的exe文件在dist目录下

image-20241011092351425

双击安装后,即可正常使用

三、图标问题

1、任务栏图标

任务栏图标在主进程中修改,按下面配置就行了

image-20241011092744581

2、桌面快捷方式更改

目前还没搞明白,后面再记录

electron-vite 是一个基于 ViteElectron 应用开发工具,它允许开发者使用 Vite 的现代前端特性来构建桌面应用。Electron 是一个使用 Web 技术来创建跨平台的桌面应用的框架,而 Vite 是一个现代的前端构建工具,以速度快、配置简单而著称。electron-vite 结合了两者的优势,使得开发 Electron 应用更加高效。 要对 electron-vite 进行打包配置,通常需要遵循以下步骤: 1. **项目初始化**:首先使用 npm 或 yarn 初始化项目,并安装 electron-vite 相关依赖。 2. **配置 Vite**:配置 Vite 的 `vite.config.js` 文件,这通常涉及到定义构建的入口文件、输出目录、服务器设置等。 3. **Electron 入口文件配置**:在 Electron 的主进程和渲染进程文件中配置启动逻辑,例如 `main.js` 和 `renderer.js`。 4. **打包设置**:使用 electron-vite 的构建命令或者自定义脚本进行打包。通常包括: - 设置构建目标环境,比如生产环境。 - 指定输出目录,通常是 `dist_electron` 或者其他自定义目录。 5. **构建命令**:在 `package.json` 的 `scripts` 中添加构建命令,例如 `"build": "electron-vite build"`,并执行此命令进行打包。 6. **打包后处理**:如果需要,可以在 Vite 构建后运行一些自定义脚本来处理构建产物,比如自动清理、代码签名等。 具体的 electron-vite 打包配置示例代码可能如下所示: ```javascript // vite.config.js import { defineConfig } from 'vite'; import { electron } from '@electron-forge/vite-plugin'; export default defineConfig({ plugins: [electron()], build: { outDir: 'dist_electron', target: 'node14', }, }); ``` 在 `package.json` 中添加构建脚本: ```json { "scripts": { "build": "vite build" } } ``` 执行 `npm run build` 或 `yarn build` 后,electron-vite 会根据配置文件进行打包打包产物会输出到 `dist_electron` 目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栀椩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值