【electron】 客户端调试小技巧

1、谷歌浏览器输入:chrome://inspect打开开发者工具 可以方便拦截electron内的请求,也可以通过f12的开发者工具中的source打断点。
虽然在electron客户端内也能审查元素。
在这里插入图片描述

在这里插入图片描述

PS:但是其有局限性,如果是窗体套窗体(webview),就调试不到了,用浏览器自带的delTools可以方便拦截并且打断点调试

2、通过在source的输入框(通过ctrl+p打开)输入“:321” 可以快速定位到321行

3、通过electron客户端新开窗体承载的webview,其调试方式是需要先在webview窗体内,使用快捷键ctrl+shift+I(windows写法)打开开发者工具,再在f12的Elements内找到webview标签,鼠标左键点击选中webview标签,再在console中输入$0.openDevTools();enter执行后,会自动打开webview的开发者工具。

4、在electron中打开一个新窗体承载的webview容器,无法通过postMessage与其他url通信,有可能是因为没有开通权限(白名单没有添加)

附:项目实施的一些实现google和office 365的auth2中遇到的卡点难题

大背景前提:采用electron+micro-app架构(京东微前端,基座应用)+子应用。

1、micro-app的沙箱问题,在沙箱开启后,无法调用google auth2接口,关闭沙箱后能正常使用

2、针对第三方请求,谨慎处理请求头的添加,避免第三方请求由于严格安全校验导致请求失败

3、桌面、子应用内的iframe缺少执行jsbridge的宿主环境,缺少全局属性及数据

4、子应用中打开窗体,仍旧无法将请求发送完全,react-google-login组件实现的谷歌认证按钮无法静默请求成功谷歌认证接口

5、采用邮箱内封装的request.post请求谷歌接口,请求发送不出去,但axios可以

6、采用electron打开一个窗体内嵌webview的方式打开授权页,在webview内部无法关闭webview授权页面本身(因为是窗体,但主应用本身没有关闭的api提供),并且无法通过协议的方式传递消息(没有开放window.open权限),使用postMessage传递消息在主应用也无法监听到

7、独立的窗体承载webview实现auth2是不需要用到我们应用内的用户认证相关的逻辑的,又因为所有路由都会默认在BasicLayout布局组件里渲染,且在BasicLayout中有一些用户获取及窗体tab等相关操作,注意,这意味着里边的获取用户信息,获取窗体tab等等信息也会同时加载,但我们只是单纯的一个auth2认证页面,不需要这些,因此我们需要把auth2的路由单独提到最顶级,和/路径对应的BasicLayout布局组件并列,并且需要保证auth2的路由在/路由上方,这是为了防止/在上方时,默认把auth2组件的路由第一级给匹配到,这样会导致下面的与/路由同级的auth2路由不再被匹配。
PS:使用preload的方式在预加载时注入全局方法到webview里的window对象上

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Electron 中实现客户端的增量更新可以通过以下步骤进行: 1. 生成差异包:在每次应用程序更新时,将新版本与旧版本进行比较,生成差异包。差异包只包含了新版本与旧版本之间的变化部分,而不是整个应用程序的完整包。 2. 服务器端配置:搭建一个服务器来存储应用程序的更新文件和元数据。服务器需要提供一个接口,供客户端查询是否有可用的更新。 3. 客户端检查更新:在应用程序启动时,客户端向服务器发送请求,查询是否有可用的更新。服务器会返回最新版本的元数据,包括差异包的下载链接、版本号等信息。 4. 下载差异包:如果有可用的增量更新,客户端会从服务器上下载对应的差异包文件,而不是整个应用程序包。 5. 合并差异包:客户端使用差异包和旧版本的应用程序文件进行合并操作,生成新版本的应用程序文件。 6. 更新应用程序:将合并后的新版本应用程序文件替换掉旧版本的文件。可以使用 Electron 提供的文件系统 API 或其他工具来实现文件替换操作。 7. 重启或生效:重新启动应用程序以使更新生效。可以通过 Electron 的自动重启机制或向用户显示提示信息来通知更新已完成。 需要注意的是,增量更新可能需要更多的服务器端和客户端的逻辑处理,而且在某些情况下可能会有一些复杂性。此外,确保增量更新过程的安全性和稳定性也很重要,例如对下载的文件进行校验、错误处理和回滚机制等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hzxOnlineOk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值