vdfor
vdfor
复杂页面(比如电商类型的首页),完全采用taro,微信小程序上在中低端机型上的性能确实是不行的(在支付宝小程序上会好很多)。我们目前的方案,除了常规优化,主要是两点: 1)把一些模块用原生写(比如不满足虚拟列表应用条件的长列表的列表项组件)。 2)对于白屏,我们给每个页面注入了loading的预渲染(类似H5的懒加载路由过渡loading)。 经过这些优化后,整体性能有巨大提升,重渲染时长降低了1.5倍以上,在低端机效果尤为明显。 个人觉得,对于复杂页面,不使用混写的前提下尽量保证性能,需要思考怎么将懒加载和虚拟化应用到一些复杂场景,比如,各模块(不一定是列表)高度不定的场景能否适用虚拟化技术。 如果有什么好的思路,也希望能在这里交流下。
另外,taro目前有个bug #7227,导致很多时候只敢用index作为key,如果这个解决了,能有效减少重渲染,对性能也是有所提升。
```js import 'particles.js'; import { option as particleOption } from './particles'; ... componentDidMount() { // if ts -- (window as any).particlesJS('particles-js', particleOption, () => {}); window.particlesJS('particles-js', particleOption, () => {});...
在 ubuntu 20.04 进行H5构建、taro init 会报 Error: /usr/local/share/.config/yarn/global/node_modules/@tarojs/binding-linux-x64-gnu/taro.linux-x64-gnu.node: undefined symbol: __libc_single_threaded
> > 在 ubuntu 20.04 进行H5构建、taro init 会报 > > Error: /usr/local/share/.config/yarn/global/node_modules/@tarojs/binding-linux-x64-gnu/taro.linux-x64-gnu.node: undefined symbol: __libc_single_threaded > > 目前 taro 的 Rust binding 是在 ubuntu-22.04 上编译的,在 ubuntu 20.04 上可能会有问题 你好,我们发布时是走的ZADIG自动化构建,运行在k8s,构建时也会出现这个问题,请问下这种有没有办法处理呢?或者提供配置可以指定不走 rust...
应该是的,3.6.23 更新了 CI - 降低 Ubuntu 版本到 20.04, 但感觉在不同的CI构建环境下还是有问题。
最好是构建时能够指定是否走rust模块,这样本地非linux系统构建可以走rust,线上发布 ci 构建指定不走rust桥接以避免无法构建的问题。
> @vdfor 你这个问题应该升级到 3.6.23 就修复了 不行, taro init 还是报错** root@iZj6c:~/demo# taro init demo3 👽 Taro v3.6.23 ⚠ 获取 taro 全局配置文件失败,不存在全局配置文件:/root/.taro-global-config/index.json node:internal/modules/cjs/loader:1327 return process.dlopen(module, path.toNamespacedPath(filename)); ^ Error: /usr/local/share/.config/yarn/global/node_modules/@tarojs/binding-linux-x64-gnu/taro.linux-x64-gnu.node: undefined symbol: __libc_single_threaded...
实测 3.6.24 已解决