git安装包下载链接
https://npm.taobao.org/mirrors/git-for-windows/
yarn使用文档
https://www.cnblogs.com/sunqq/p/10785445.html
解决安装Electron缓慢问题
Electron入门应用打包exe(windows)
npm install electron-packager -g
基本打包命令:electron-packager . HelloWorld --platform=win32 --arch=x64 --icon=favicon.ico --out=./out --asar --app-version=0.0.1 --overwrite --ignore=node_modules
electron-packager <sourcedir> <appname> <platform> <architecture> <electron version> <optional options>
参数说明:
-
sourcedir
:项目所在路径 -
appname
:应用名称 -
platform
:确定了你要构建哪个平台的应用(Windows、Mac 还是 Linux) -
architecture
:决定了使用 x86 还是 x64 还是两个架构都用 -
electron version
:electron 的版本 -
optional options
:可选选项
第二种方法:
1 .安装依赖
npm install electron-builder --save-dev
npm安装可能会很慢
yarn add electron-builder
2 .配置打包命令
在 package.json 的 scripts 中添加两条新命令 pack 和 dist:
"scripts": {
"start": "electron .",
"pack":"electron-builder --dir",
"dist":"electron-builder"
}
- pack命令不会打包,只会生成一个包文件夹压缩包,用于测试流程。
- dist会先生成打包后的文件夹(xxx-unpacked),再将其打包成一个 Setup 安装包。
3 .配置 build 参数
build 参数由 electron-builder 使用,我们的打包参数可以在此配置。
详细参数及适用平台参考:https://www.electron.build/configuration/configuration
//package.json
"build":{
"appId":"com.azimiao.test",
"asar":true,
"afterPack":"./build/afterPack.js",
"directories":{
"buildResources":"build",
"output":"dist"
},
"win":{
"target": [{
"target":"nsis"
}],
"icon":"build/favicon.ico",
"asarUnpack":[
"src/**",
"README.md"
]
},
"nsis":{
"oneClick":false,
"allowElevation":true,
"allowToChangeInstallationDirectory":true,
"installerIcon":"build/install_favicon.ico",
"uninstallerIcon":"build/uninstall_favicon.ico",
"createDesktopShortcut": true,
"createStartMenuShortcut": true
}
}
简单介绍下打包参数内的重要配置项:
directories.buildResources
:默认值为 build,是打包时的资源文件夹,该文件夹不会被打包至程序内,可以放置一些打包需要用的图标、资源等。
directories.output
:默认值 dist,打包输出文件夹。
afterPack
:生成 Unpack 文件夹后要执行的脚本,运行的时机在打包之后,在生成安装包之前。我用它来删除 README.md 等不需要放入安装包的文件。
win.target
:默认值 nsis,指定 win 平台的打包类型,例如appx、msi、zip等。
win.asarUnpack
:不会压缩进 app.asar 的资源。
nsis.allowToChangeInstallationDirectory
:生成的安装包是否允许改变安装位置。
afterPack.js
const fs = require("fs");
const path = require("path");
async function afterPack(context){
// 删除 README 文件,使其不加入 Setup 包中。
let readmePath = path.join(context.appOutDir,"resources/app.asar.unpacked/README.md");
if(fs.existsSync(readmePath)){
fs.unlinkSync(readmePath);
}
}
module.exports = afterPack;
参数说明:
ico在线制作
https://tool.520101.com/diannao/ico/ 或 https://www.qvdv.com/tools/qvdv-ico.html
在线制作的图标有问题,这里推荐一款制作软件IconWorkshop
尺寸42*42
electron-builder打包时下载electron失败解决方案
electron-builder 在打包时会检测cache中是否有electron 包,如果没有的话会从github上拉去,在国内网络环境中拉取的过程大概率会失败,所以你可以自己去下载一个包放到cache目录里
https://github.com/electron/electron/releases/download/v8.0.0/electron-v8.0.0-darwin-x64.zip
放一个下载地址,国内github下载也不一定能下下来
路径:C:\Users\用户名\AppData\Local\electron\Cache
压缩包放进去之后解压即可,打包过程中可能会需要下载别的包,还是会卡住,一样的解决方法。
打包
electron-builder
installerIcon
安装程序图标需要256*256
最好用yarn
来运行命令,用npm
的话会有打包失败的情况,或者卡顿。
打包运行生成的exe左上角图标不显示问题(在线制作的ico)
favicon.ico文件太大,控制在
20~50kb
electron-vue vue-cli4 初始化项目失败
electron-vue文档
npm install -g @vue/cli-init
安装依赖用npm i
(运行打包yarn会卡在那里,自己尝试换着用就好。)
参考链接
electron
的zip
包下载到本地npm源
直接浏览器打开淘宝那个镜像源:npm.taobao.org/mirrors/ele…,把你要安装的electron
对应的版本zip
包下载到本地,放在用户目录下的一个名为.electron
的隐藏文件夹中
打包的时候可能还是要下载github的包:https://github.com/electron/electron/releases/tag/版本号
https://github.com/electron/electron/releases/tag/v2.0.18
Vue+Electron下Vuex的Dispatch没有效果的解决方案
mapActions
按namespaced
引入,无报错也不执行,查了半天vuex
文档,结果是electron
的问题
方法一:
在 store/index.js
里面,去掉 createSharedMutations
插件。
方法二:
https://github.com/vue-electron/vuex-electron#installation
看第 3 条
意思就是:
在/src/main/index.js
加上一行代码import '../renderer/store'
(默认路径一般都是这个)
import { app, BrowserWindow, Menu, ipcMain } from 'electron'
import '../renderer/store'//vuex action不执行