发现问题

通过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打包配置说明的更多相关文章

  1. electron builder 打包错误 cannot unpack electron zip file 解决方案

    npm run buildwin > study01@1.0.0 buildwin F:\Nodejs\electron\Test\study01> electron-builder -- ...

  2. electron builder 打包多个第三方依赖的软件

    背景 在实际的开发过程中,我们最后打包生成的exe.会依赖一些第三方的软件,或者说是一些系统的环境,比如 .net framework vc++ 等,这些环境不能依赖客户的环境,所以最好的做法是在打包 ...

  3. Electron安装打包指南

    当前环境Debian Linux-Deepin 安装Node 直接下载 命令下载 下载 wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linu ...

  4. electron之打包成安装程序

    1.安装electron-winstaller npm install --save-dev electron-winstaller 2.创建一个build.js var electronInstal ...

  5. quasar使用electron打包

    quasar使用electron打包  从构建好的项目中,我们不难发现,electron打包有两种方式: electron-packager打包  这篇博客是通过我尝试了很多种方法之后,最先开始,我使 ...

  6. Electron把网页打包成桌面应用并进行源码加密

    前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...

  7. 使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信

    上一篇讲了使用electron进行打包的配置相关文件,这篇主要讲electron中很重要的通信方式. 首先解释一个概念: electron打包的应用包含两个部分 electron的环境(node),也 ...

  8. angular打包(一): electron

    路由问题: 打包成electron前,需要修改 index.html <base href="/"> 成 <base href="./"> ...

  9. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行

    ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验   最近需要讲AntD Pro项目(以 ...

  10. Electron的介绍

    1.1 Electron是什么? 引用官网的一句话: Build cross platform desktop apps with JavaScript, HTML, and CSS 1.2 诞生 技 ...

随机推荐

  1. 量子位(qubit)发微

    上一篇文章我们讲了量子计算机的一些概念,文章不短,但是信息量很少.这里继续深入量子机来揭开qubit的神秘面纱. 这篇文章会有一些数学概念,不过很简单 量子叠加 量子叠加非常重要,因为qubit就是利 ...

  2. debian12 笔记

    前言 最近在win10通过wsl安装了debian linux子系统(wsl2安装报错了..所以改成了wsl),没想到安装的还是最新的debian12 (Bookworm).的确和ubuntu有些不一 ...

  3. Sqlalchemy 连接SQL Server 登录失败

    实验系统环境 Windows平台 Sqlalchemy 2.0.23 Python 3.10 SQL Server 2012 aioodbc 0.5.0 问题详情 sqlalchemy.exc.Int ...

  4. 谈谈你对MVVM开发模式和MVT的理解?

    MVVM分为Model.View.ViewModel三者. Model 代表数据模型,数据和业务逻辑都在Model层中定义: View 代表UI视图,负责数据的展示: ViewModel 负责监听 M ...

  5. C#开发一个可被带参数调用并返回数据的控制台应用程序

    1 标准输出流控制台程序: namespace ReturnConsoleWrite { class Program { static void Main(string[] args) { //程序功 ...

  6. 修改Jenkins默认管理员admin密码

    1.删除Jenkins目录下config.xml文件中下面代码,并保存文件. <useSecurity>true</useSecurity><authorizationS ...

  7. Pandas库学习笔记(3)---Pandas Series

    Pandas Series Pandas Series基本操作 pandas.Series Series结构如下: pandas.Series(data, index, dtype, copy) 构造 ...

  8. vue小知识~eventBus

    eventBus是指在向全区暴露这个vue对象,此时在任意一个地方都可以使用vue相关的实例 在main.js配置 Vue.prototype.$bus=new Vue() 此时整个应用都可以使用vu ...

  9. Django template层之json报文遍历总结

    Django template层之json报文遍历总结 by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 实例 Views.py def home(request): ...

  10. VScode配置PHP开发环境

    vscode配置php开发环境 使用vscode配置PHP开发环境,首先要下载vscode, vscode下载 下载完vscode之后,可以在扩展里面下载中文版本 将vscode下载完之后,需要下载x ...