[electron] 01 一分钟web应用秒变客户端软件(附原理及其他各种打包方案)

导读

大前端时代来临,前端变得无所不在,今天我们就将web应用秒变客户端软件

操作步骤

  1. 从链接https://download.csdn.net/download/kinghzking/78131790下载electron改-64位版本(web应用秒变客户端软件)

  2. 解压到任意目录

  3. 拷贝web应用打包后的目录到resources\app\dist目录
    在这里插入图片描述

  4. 启动electron.exe
    在这里插入图片描述
    最终效果如下:
    在这里插入图片描述

Ps: 需要使用32位的electron,可以通过此链接下载:https://download.csdn.net/download/kinghzking/78131834

原理

下载预构建可执行文件

根据官网部署教程#手动发布教程。

我们需要下载预构建可执行文件(prebuilt binaries),这里选择的是v8.3.4的版本:https://github.com/electron/electron/releases/tag/v8.3.4,该版本有如下几个有点:

  • 二进制文件相对新版本较小
  • 这是自我感觉比较稳定的版本。

文件结构(Windows&Linux下)

对于源文件,目录结构如下:
在这里插入图片描述
对于存档asar文件,目录结构
在这里插入图片描述
其实通过github下载的预构建可执行文件中,resources目录下只有一个叫做default_app.asar的文件,
在这里插入图片描述
我们通过asar解压文件asar extract default_app.asar default_app,可以查看该目录结构如下:
在这里插入图片描述
可以看出来,electron其实就是讲asar文件当做文件夹访问了,内部是也是main.jspackage.json等文件。

修改main.js访问指定入口文件

上一小节中,我们解压的default_app.asar文件内容比较复杂,引用太多其他的内容了,为了让大家更好的理解,我们这里使用最简单的electron示例项目https://github.com/electron/electron-quick-start,将其中的main.jspackage.json文件拷贝到resources\app目录。

因为默认vue项目打包npm run dev后就是dist,我们直接将index.html替换为dist/index.html,以后只要将vue等项目的打包后文件拷贝到dist目录就可以了。
在这里插入图片描述

打包指定URL

除了本地应用外,还可以指定加载URL,比如我们让electron访问自己的网站,我们只需要将mainWindow.loadFile('dist/index.html') 替换为mainWindow.loadURL('http://www.l0l.fun')就可以了。

效果如下图(史上最烂个人主页):
在这里插入图片描述

打包asar文件

REM 全局安装asar
npm install -g asar

REM 切换到resources目录
cd resources

REM 打包asar,文件名固定为app.asar
asar pack app app.asar

最终在resources目录中只保留app.asar就可以了。

electron其他打包方案

  • electron-builder(默认electron-vue项目,支持更多的平台,支持自动更新,打出的包更为轻量,setup安装程序)
  • electron-forge
  • electron-packager
  • nativefier (支持一键打包,修改应用图标,海量配置参数,支持docker。https://github.com/jiahaog/nativefier

参考资料

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜猫逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值