subframe75361 最近的时间轴更新
subframe75361

subframe75361

V2EX 第 587457 号会员,加入于 2022-07-09 16:58:37 +08:00
今日活跃度排名 24958
推荐一些的 Chrome flags
Chrome  •  subframe75361  •  182 天前  •  最后回复来自 Usdk
6
有没有按量付费的 gpt4 服务推荐
问与答  •  subframe75361  •  222 天前  •  最后回复来自 Deplay
3
Apple Music 歌词动效如何高效实现
程序员  •  subframe75361  •  29 天前  •  最后回复来自 subframe75361
8
分享一下自制的 Obsidian 主题 Maple
分享创造  •  subframe75361  •  149 天前  •  最后回复来自 Donne
39
chatgpt 能够直连可能有哪些原因?
程序员  •  subframe75361  •  2023-02-20 16:44:52 PM  •  最后回复来自 varrily
9
圆角等宽字体 Maple Mono 更新 V6.0
  •  1   
    分享发现  •  subframe75361  •  2023-01-14 21:19:22 PM  •  最后回复来自 subframe75361
    14
    如果 chromium/electron 来个 lts 版本是否会好一些呢
    程序员  •  subframe75361  •  2022-12-05 21:00:05 PM  •  最后回复来自 nightwitch
    18
    dexie.js 求助
    程序员  •  subframe75361  •  2022-10-03 10:17:15 AM  •  最后回复来自 AyaseEri
    8
    subframe75361 最近回复了
    试了一下 lobechat ,有些卡
    换 MiSans + MacType 即可
    @cococoder #26 我看过的所有热更新的文章里都是要用 exe 启动更新进程的,应该是 windows 机制,自己也没有尝试过。至于了解,其实我也只有一个 sideproject 的经验😂
    @cococoder #23
    1. 直接替换 asar 文件需要额外的可执行文件进行覆盖和重启,并且原生模块也需要放进更新包里,增大体积的同时还会添加其他平台的依赖(当然可以通过构建不同平台的更新包解决)。我认为原生模块的热更新需求肯定远小于其他模块,所以我觉得把原生模块放到 app.asar 里,其他代码放到另外一个 asar 里加载比较合理(而且减小体积的同时只需要打一个包)
    2. 是的,这个库其实是对 Obsidian 热更新策略的开源实现+用于构建的 vite 插件,提供一种实现思路。选用 vite 也只是因为自己在用的时候遇到了一些通用的问题(比如说冗余的 node_modules ),就写了个库出来。
    3. 本地有一个,有空整理上传一下
    @cococoder #20
    关于打包你可以看一下这个 https://github.com/electron-vite/vite-plugin-electron-renderer?tab=readme-ov-file#dependency-pre-bundling

    我自己的 side project 实测 better-sqlite3 和 napi-rs 相关的库是可以打包的,其他的暂时没有需求就没有测试过。至于加载其他的模块,可以直接调用 app.asar 里的 js 函数,我的库也提供了简化的加载方法

    @cococoder #16
    webpack 不清楚,如果使用 vite 构建,可以全打包好,不需要 node_modules

    至于 native modules ,应该全部放在 app.asar 里,只能通过完整安装包更新

    或者不使用 asar 打包,下载压缩包直接解压替换
    5 天前
    回复了 LawlietZ 创建的主题 程序员 4202 年了,前端开发一定必须要用 mac 吗
    wsl2 里 vite 的 hmr 得开轮询才能用
    还有一种思路,开启 web worker 的 node 集成,把主进程的业务代码移到 web worker 里面,ipc 接口改造成 message 通信,这样只需要热更新渲染进程即可
    目前用过的有热更新的应用只有一个 obsidian

    如果只是热更新渲染进程的话可以把渲染进程的代码额外打一个 asar ,主进程控制窗体重载
    如果需要热更新主进程的话,除了重启没找到能实现的方法
    写过一个参考 obsidian 的库,也是类似替换 asar 的,但是通过多个 asar 包实现:app.asar 加载 name.asar ,下载新的 name.asar 后重启替换。https://github.com/subframe7536/electron-incremental-update
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   948 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:07 · PVG 05:07 · LAX 14:07 · JFK 17:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.