当前位置: 首页 > Web前端 > HTML

不联网的情况下,使用 electron-builder 快速打包全平台应用

时间:2023-03-28 00:30:01 HTML

使用electron-builder在不联网的情况下快速打包全平台应用今天分享一下如何使用一套代码快速打包生成各种主流平台安装包的心得。项目安装首先使用我之前介绍的提速技巧进行设置:npm源为淘宝镜像源;Electron源是中文镜像网站的Electron源地址。然后依次执行以下命令:mkdirmy-electroncdmy-electronnpminit-ynpminstallelectron@14.2.6-Dnpminstall@electron/remote--savenpminstallelectron-builder-Dpackage并在my-中配置package.jsonelectron目录,添加打包配置:{"name":"my-electron","version":"0.1.0","author":"Programming","build":{//electron-builder配置"productName":"myFirstApp",//项目名这也是生成的exe文件的前缀名"appId":"xxxxx","copyright":"xxxx",//版权信息"directories":{"output":"build"//输出文件夹},"extraResources":[{//需要读写的配置文件"from":"./config/config.json","to":"../config/config.json"}],"win":{"icon":"xxx/icon.ico"//图标路径,"target":[{"target":"nsis","arch":["x64"]}]},"dmg":{"contents":[{"x":0,"y":0,"path":"/Application"}]},"linux":{"icon":"xxx/icon.ico"},"mac":{"icon":"xxx/icon.ico"},"nsis":{"oneClick":false,//一键安装"guid":"xxxx",//注册表名称,不建议修改"perMachine":true,//安装时是否启用权限限制(本机或当前用户)"allowElevation":true,//allowrequest-elevation如果为false,用户必须以提升的权限重新启动安装程序。"allowToChangeInstallationDirectory":true,//允许修改安装目录"installerIcon":"./build/icons/aaa.ico",//安装图标"uninstallerIcon":"./build/icons/bbb.ico",//卸载图标"installerHeaderIcon":"./build/icons/aaa.ico",//安装过程中的标题图标"createDesktopShortcut":true,//创建桌面图标"createStartMenuShortcut":true,//创建开始菜单图标"shortcutName":"xxxx"//图标名称}}}在package.json中配置打包脚本,添加对应的打包脚本:{..."scripts":{"dev":"electron.--enable-loggin--no-沙箱”,“build-64”:“electron-builder--win--x64”,“build-linux”:“electron-builder--linux”,“build-mac”:“electron-builder--mac”"}…}在my-electron目录下打开终端,运行npmrundev进入开发模式。关于各个平台的Electron镜像,在有网络的情况下,因为我们搭建了NPM镜像和Electron源,所以速度还是很快的。但是我这里是在内网打包,无法上网。因此,我需要采取一招,下载对应平台的Electron源码,并在打包前放到各自的npm缓存中。electron-builder在打包时,会根据系统在各自的npm缓存目录中寻找对应版本的Electron源。当我们把下载的源放在npm缓存中,就不需要再去网上拉取了。.我使用的electron@14.2.6镜像的下载地址是:https://registry.npmmirror.com/binary.html?path=electron/14.2.6/。这是在@electron/get中获取电子图像缓存的示例:import{downloadArtifact}from'@electron/get';constzipFilePath=awaitdownloadArtifact({version:'14.2.6',platform:'darwin',artifactName:'electron',artifactSuffix:'symbols',arch:'x64',});各个操作系统对应的npm缓存路径为:Linux:$XDG_CACHE_HOMEor~/.cache/electron/MacOS:~/Library/Caches/electron/Windows:%LOCALAPPDATA%/electron/Cacheor~/AppData/Local/electron/Cache/注:linuxx64和linuxarm64对应的electron镜像是不一样的。关于开发模式无法启动的问题,开发模式可能无法启动。原因可能是my-electron和node_modules下的electron没有安装,缺少Electron源。解决方法只要执行以下命令:node./node_modules/electron/cli.js等待electron镜像拉取完毕,即可正常进入启动模式。综上所述,以上就是使用electron-builder在不联网的情况下打包全平台桌面应用的记录。~~本文到此结束,感谢阅读!~学习有趣的知识,认识有趣的朋友,塑造有趣的灵魂!大家好,我是〖编程三昧〗的作者王隐,我的公众号是《编程三昧》,欢迎关注,希望大家多多指教!