文章目录
一、打包流程
1.下载打包插件
// 在当前项目根目录下安装打包插件
npm install electron-builder
// 或全局安装
npm install electron-builder -g
2.配置文件
{
"name": "test-demo", // 项目名称
"version": "0.0.1", // 版本号,打包后setup版本号同此
"author": "mingmei <1249064106@qq.com>",
"description": "An electron-vue project",
"license": null, // 如有许可证文件,可添加文件路径
"main": "./dist/electron/main.js",
"scripts": {
"build": "node .electron-vue/build.js && electron-builder",
"build:dir": "node .electron-vue/build.js && electron-builder --dir",
"build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
"build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
"dev": "node .electron-vue/dev-runner.js",
"pack": "npm run pack:main && npm run pack:renderer",
"pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
"pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
"postinstall": ""
},
"build": {
"productName": "test-demo", // 项目名,也是打包后安装包前缀名
"appId": "com.test.app", // 包名
"copyright":"xxxx",// 可在此处添加版权信息
"directories": { // 输出文件夹
"output": "build" // 打包文件输出位置
},
"files": [
"dist/electron/**/*"
],
"dmg": {
"contents": [
{
"x": 410,
"y": 150,
"type": "link",
"path": "/Applications"
},
{
"x": 130,
"y": 150,
"type": "file"
}
]
},
"mac": {
"icon": "build/icons/icon.icns"
},
"win": {
"icon": "build/icons/icon.ico", //app图标
"artifactName": "${productName}_setup_${version}.${ext}",
"target": [
{
"target": "nsis", // 目标为 nsis配置文件
"arch": [
"x64" //打包文件适用系统
]
}
]
},
"linux": {
"icon": "build/icons"
},
"nsis": {
"oneClick": false, // 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":"zero-desktop" //快捷键名称
"include": "build/script/installer.nsh", // 若有自定义nsis脚本,可添加,没有则省略此句
},
"publish": [
{
"provider": "generic", // 服务器提供商
"url": "http://xxxxx/" // 服务器地址,根据实际情况添加
}
],
},
"dependencies": {
"axios": "^0.18.0",
"multispinner": "^0.2.1",
"vue": "^2.5.16",
"vue-electron": "^1.0.6",
"vue-router": "^3.0.1",
"vuex": "^3.0.1",
"vuex-electron": "^1.0.0"
},
"devDependencies": {
"ajv": "^6.5.0",
"babel-core": "^6.26.3",
"babel-loader": "^7.1.4",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-0": "^6.24.1",
"babel-register": "^6.26.0",
"babel-minify-webpack-plugin": "^0.3.1",
"cfonts": "^2.1.2",
"chalk": "^2.4.1",
"copy-webpack-plugin": "^4.5.1",
"cross-env": "^5.1.6",
"css-loader": "^0.28.11",
"del": "^3.0.0",
"devtron": "^1.4.0",
"electron": "^2.0.4",
"electron-debug": "^1.5.0",
"electron-devtools-installer": "^2.2.4",
"electron-builder": "^20.19.2",
"mini-css-extract-plugin": "0.4.0",
"file-loader": "^1.1.11",
"html-webpack-plugin": "^3.2.0",
"listr": "^0.14.3",
"node-loader": "^0.6.0",
"style-loader": "^0.21.0",
"url-loader": "^1.0.1",
"vue-html-loader": "^1.2.4",
"vue-loader": "^15.2.4",
"vue-style-loader": "^4.1.0",
"vue-template-compiler": "^2.5.16",
"webpack-cli": "^3.0.8",
"webpack": "^4.15.1",
"webpack-dev-server": "^3.1.4",
"webpack-hot-middleware": "^2.22.2",
"webpack-merge": "^4.1.3"
}
}
3.命令打包
npm run build
二、打包中可能遇到的问题
1.electron包下载错误
从github上找到对应版本并下载
https://github.com/electron/electron/releases
例:同时下载对应的下所报文件与SHASUMS256.txt文件
下载后放在指定文件夹下:
2. WinCodeSign下载
第一步下载完成后,再次执行 打包操作
出现如下错误提示:
从github上找到对应的版本并下载,放在如下位置:
https://github.com/electron-userland/electron-builder-binaries/releases
3. nsis相关下载
再次执行打包操作,提示如下错误:
继续从github仓库下载对应版本的压缩包,放在如下位置:
https://github.com/electron-userland/electron-builder-binaries/releases
4.项目目录中有中文导致报错
三.打包成功
双击即可安装运行
总结
a.打包时下载electron-v.xxxx.zip文件失败
解决办法:直接在淘宝的文件库下载对应版本和打包平台的文件,下载完成后放在
C:\Users\Administrator\AppData\Local\electron\Cache这个目录下
下载地址:electron的淘宝镜像地址 https://npm.taobao.org/mirrors/electron/
b.打包时下载winCodeSign-v.xxx.7z文件失败
下载地址:https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.5.0/winCodeSign-2.5.0.7z
下载完解压放到C:\Users\Administrator\AppData\Local\electron-builder\Cache\winCodeSign目录下
c.打包时下载nsis-v.xxx.7z文件失败
下载地址:https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-3.0.4.1/nsis-3.0.4.1.7z
下载完解压放到C:\Users\Administrator\AppData\Local\electron-builder\Cache\nsis
d.打包时下载nsis-resources-v.xxx.7z文件失败
下载地址:https://github.com/electron-userland/electron-builder-binaries/releases/download/nsis-resources-3.4.1/nsis-resources-3.4.1.7z
下载完解压放到C:\Users\Administrator\AppData\Local\electron-builder\Cache\nsis\nsis-resources-3.4.1