微信小程序实现热更新

2022-02-17 16:35:05 +08:00
 wuchangming89

最近研究低代码时遇到个问题,微信小程序不能动态更新,变成很多方案不可越过的坎。所以有了目前的方案。

首先,灵感来源这篇文章: https://zhuanlan.zhihu.com/p/34191831

另外借助 Taro3 React 的动态化能力「 Remax 应该也可以,但还没用过」,其实可以进一步提升动态配置能力「 UI + 逻辑其实都可以进行热更新」。

对于低代码平台来说 react-interpreter 带来的局部热更新应该是够用了。不过项目也是刚写完,如果要用在生产环境需要完备测试。

项目地址: https://github.com/wuchangming/react-interpreter

2906 次点击
所在节点    前端开发
8 条回复
yaphets666
2022-02-17 16:56:36 +08:00
伪需求,需要经常更新的页面请用 web-view 。用不了 web-view 的,当你的小程序已经用户庞大到需要热更新,就可以联系微信,给你的小程序安排 vip 通道,审核通过时间是分钟级别的。
wuchangming89
2022-02-17 17:06:06 +08:00
@yaphets666 ,大部分场景确实是伪需求。只是最近在做跨端项目的低代码平台,其中涉及小程序这一端,由于审核机制导致这个端不能和其他端「 Web 、RN 」同步发布,要引入别的步骤,所以有了这个想法。
JenJieJu
2022-02-17 17:54:00 +08:00
性能怎么样?我测试过 eval5 性能最多只有原来的 60%
ch2
2022-02-17 18:10:23 +08:00
试一试
wuchangming89
2022-02-18 09:44:49 +08:00
@JenJieJu 因为要先解析 ast ,性能是会差点。用的时候确实也是要分场景,特别吃性能的页面就不推荐了
JenJieJu
2022-02-18 10:55:40 +08:00
除了 js 的问题,css 楼主有方案吗?小程序不支持动态引用 css 文件
wuchangming89
2022-02-18 11:15:30 +08:00
em... 如果是基于 Taro 3 之类 React 的框架就 CSS in JS 吧 😂。不过原生 css 也是类似 js 可以先解析成 ast 后再和框架结合进行处理,但我确实没研究过,感觉开发成本比较大。
zycode277
2022-04-01 15:46:37 +08:00
赞 最近也在做这方面的尝试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834551

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX