electron+vue3全家桶+vite项目搭建【24】设置应用图标,打包文件的图标

引入

demo项目地址

在electron中,我们可以通过electron-builder的配置文件来设置打包后的应用图标

实现步骤

因为mac环境下的图标需要特殊格式,这里我们可以利用electron-icon-builder进行配置

1.引入相关依赖

# 安装electron-icon-builder的依赖
npm i electron-icon-builder -D
  • 加入安装过程中卡在了 phantomjs-2.1.1-windows.zip的下载,可以直接去github上下载
  • 这里我也放一份在网盘上,放在 C:\Users\ADMINI~1\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.zip
  • 链接:https://pan.baidu.com/s/1e1r2gB4HLqUohsYKLOuRbA?pwd=ei1h
    提取码:ei1h

2.package.json中补充命令:

"build-icon": "electron-icon-builder --input=./public/icon.png --output=public --flatten"

3.将png图片放置在 public目录下

请添加图片描述

4.修改electron-builder.json5文件

  mac: {
    // 注意mac的icon和windows的是不一样的
    icon: "public/icons/icon.icns",
	...
  },
  win: {
    icon: "public/icons/icon.ico",
    ...
  },

请添加图片描述

5.修改主进程窗口创建部分的代码

process.env.PUBLIC = process.env.VITE_DEV_SERVER_URL
  ? join(process.env.DIST_ELECTRON, "../public")
  : process.env.DIST;

...

new BrowserWindow({
    title: "Main window",
    icon: join(process.env.PUBLIC, "icons/icon.ico"),
    ...
    )}

测试结果

我们运行build-icon脚本

请添加图片描述

可以看到publi的icons目录下生成了各种型号的图片

请添加图片描述

此时重新打包可以发现,安装包,和运行软件的图标都已替换为指定的图标

请添加图片描述

Electron-Vue打包应用时遇到ICO图标错误通常是由于文件路径、名称规范或资源引用配置不当导致的。以下是几种可能的原因及解决方法: 1. **路径问题**:确保你的 ICO 图标文件位于正确的资源目录下,并且路径在Webpack配置中正确地指向。`main.js` 或 `electron-builder.json` 配置中需要指定正确的入口点。 ```json // electron-builder.json { "build": { "appId": "com.yourcompany.app", "asar": false, "files": [ "dist/**/*", // 包含你的 ICO 图标的目录 "src/icon.ico" // 如果图标文件就在源码目录里 ], "icon": "src/icon.ico" // 指定主图标路径 } } ``` 2. **文件名问题**:有些构建工具可能对图标文件的大小、扩展名有特定要求。检查图标文件是否满足这些条件,如 `.ico` 文件通常小于256KB,且支持16x16、32x32、48x48等尺寸。 3. **配置冲突**:如果你同时使用了 Vue 的 `<icon>` 组件和Electron的`<icon>`标签来设置图标,可能会导致混乱。确保你只保留一种方式。 4. **Webpack配置**:确认Webpack的处理规则没忽略或错误地处理ICO文件。可以在`vue.config.js`中添加对应的loader来加载它。 ```javascript module.exports = { configureWebpack: { module: { rules: [ { test: /\.ico$/, use: [&#39;file-loader&#39;], exclude: /node_modules/, }, ], }, }, }; ``` 如果尝试以上方法仍无法解决问题,可以提供更详细的错误信息,以便更好地定位问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值