electron-builder打包配置说明
发现问题
通过vue建立的项目使用electron-builder打包(不会eletron打包vue项目的看这里)出exe后发现名字就直接是项目文件夹的名字,但此时想自定义汉字名称,通过尝试直接修改package.json中的name后发现此法仅限于修改为英文名称,汉字会报错无法打包。
踩坑过程
在网上翻阅后发现有人直接在package.json中这样添加build:
"scripts": {
// ...
},
"build": {
"productName": "xxx",
"appId": "xxx",
// ...
},
这其实是个大坑,我尝试后发现会报错无效配置:
InvalidConfigurationError: 'build' in the application package.json,后面又查了下,大概是版本原因,electron-builder某个版本之后的配置得写在vue.config.js中才能生效。但网上好多文章都是直接在package.json里面配置,还有在electron生成的background.js里配置的。
解决办法
eletron打包总会出现莫名其妙的问题,图标缺失、路径错误。。。。。。其实大多数的坑都是国内网络环境和自己的项目配置问题,这里就配置做一下说明。需要在vue.config.js中对electron-builder进行配置(没vue.config.js的自己建一个就ok了),具体配置如下:
module.exports = {
//判断开发模式还是生产模式
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
//插件配置
pluginOptions: {
//electronBuilder配置
electronBuilder: {
builderOptions: {
'productName': 'all electron',//生成exe的名字
"appId": "com.xi.www",//包名
"copyright": "xi",//版权信息
"directories": { // 输出文件夹
"output": "electron_output",
},
"nsis": {
"oneClick": false, // 是否一键安装
"allowElevation": true, // 允许请求提升。若为false,则用户必须使用提升的权限重新启动安装程序。
"allowToChangeInstallationDirectory": true, //是否允许修改安装目录
"installerIcon": "./build/icons/icon.ico",// 安装时图标
"uninstallerIcon": "./build/icons/icon.ico",//卸载时图标
"installerHeaderIcon": "./build/icons/icon.ico", // 安装时头部图标
"createDesktopShortcut": true, // 是否创建桌面图标
"createStartMenuShortcut": true,// 是否创建开始菜单图标
"shortcutName": "all-electron", // 快捷方式名称
"runAfterFinish": false,//是否安装完成后运行
},
"win": {
"icon": "build/icons/icon.ico",//图标路径
"target": [
{
"target": "nsis", //利用nsis制作安装程序
"arch": [
"x64", //64位
// "ia32" //32位
]
}
]
}
}
}
}
}
其中值得注意的是:
1、directories输出文件不做修改则默输出在dist_electron下。
2、productName修改的名字允许为汉字。
3、所有路径均是相对与项目的根路径。
4、icon.ico图标可通过这篇文章的electron-icon-builder生成
项目源码
为了避免自己踩坑,也为了方便后来者,这里我将vue使用electron-builder打包后的模板项目源码放这儿了。
electron-builder打包配置说明的更多相关文章
- electron builder 打包错误 cannot unpack electron zip file 解决方案
npm run buildwin > study01@1.0.0 buildwin F:\Nodejs\electron\Test\study01> electron-builder -- ...
- electron builder 打包多个第三方依赖的软件
背景 在实际的开发过程中,我们最后打包生成的exe.会依赖一些第三方的软件,或者说是一些系统的环境,比如 .net framework vc++ 等,这些环境不能依赖客户的环境,所以最好的做法是在打包 ...
- Electron安装打包指南
当前环境Debian Linux-Deepin 安装Node 直接下载 命令下载 下载 wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linu ...
- electron之打包成安装程序
1.安装electron-winstaller npm install --save-dev electron-winstaller 2.创建一个build.js var electronInstal ...
- quasar使用electron打包
quasar使用electron打包 从构建好的项目中,我们不难发现,electron打包有两种方式: electron-packager打包 这篇博客是通过我尝试了很多种方法之后,最先开始,我使 ...
- Electron把网页打包成桌面应用并进行源码加密
前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...
- 使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
上一篇讲了使用electron进行打包的配置相关文件,这篇主要讲electron中很重要的通信方式. 首先解释一个概念: electron打包的应用包含两个部分 electron的环境(node),也 ...
- angular打包(一): electron
路由问题: 打包成electron前,需要修改 index.html <base href="/"> 成 <base href="./"> ...
- Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行
ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验 最近需要讲AntD Pro项目(以 ...
- Electron的介绍
1.1 Electron是什么? 引用官网的一句话: Build cross platform desktop apps with JavaScript, HTML, and CSS 1.2 诞生 技 ...
随机推荐
- 量子位(qubit)发微
上一篇文章我们讲了量子计算机的一些概念,文章不短,但是信息量很少.这里继续深入量子机来揭开qubit的神秘面纱. 这篇文章会有一些数学概念,不过很简单 量子叠加 量子叠加非常重要,因为qubit就是利 ...
- debian12 笔记
前言 最近在win10通过wsl安装了debian linux子系统(wsl2安装报错了..所以改成了wsl),没想到安装的还是最新的debian12 (Bookworm).的确和ubuntu有些不一 ...
- Sqlalchemy 连接SQL Server 登录失败
实验系统环境 Windows平台 Sqlalchemy 2.0.23 Python 3.10 SQL Server 2012 aioodbc 0.5.0 问题详情 sqlalchemy.exc.Int ...
- 谈谈你对MVVM开发模式和MVT的理解?
MVVM分为Model.View.ViewModel三者. Model 代表数据模型,数据和业务逻辑都在Model层中定义: View 代表UI视图,负责数据的展示: ViewModel 负责监听 M ...
- C#开发一个可被带参数调用并返回数据的控制台应用程序
1 标准输出流控制台程序: namespace ReturnConsoleWrite { class Program { static void Main(string[] args) { //程序功 ...
- 修改Jenkins默认管理员admin密码
1.删除Jenkins目录下config.xml文件中下面代码,并保存文件. <useSecurity>true</useSecurity><authorizationS ...
- Pandas库学习笔记(3)---Pandas Series
Pandas Series Pandas Series基本操作 pandas.Series Series结构如下: pandas.Series(data, index, dtype, copy) 构造 ...
- vue小知识~eventBus
eventBus是指在向全区暴露这个vue对象,此时在任意一个地方都可以使用vue相关的实例 在main.js配置 Vue.prototype.$bus=new Vue() 此时整个应用都可以使用vu ...
- Django template层之json报文遍历总结
Django template层之json报文遍历总结 by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实例 Views.py def home(request): ...
- VScode配置PHP开发环境
vscode配置php开发环境 使用vscode配置PHP开发环境,首先要下载vscode, vscode下载 下载完vscode之后,可以在扩展里面下载中文版本 将vscode下载完之后,需要下载x ...