electron

2020-12-01  本文已影响0人  cherubic_c
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>

参数说明:
第二种方法:

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"
}
//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会卡在那里,自己尝试换着用就好。)

参考链接

electronzip包下载到本地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没有效果的解决方案

mapActionsnamespaced引入,无报错也不执行,查了半天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不执行
上一篇 下一篇

猜你喜欢

热点阅读