微信小程序推出了分包异步化(官方指引)的功能,异步分包将能大大降低主包尺寸的压力。
估计其实现对vue体系来说是个不小的挑战,希望大神们能出手。
如同推出easycom一样。
dfddblmv1#
提交了一个PR,支持componentPlaceholder配置,望采纳。
bjp0bcyl2#
期待PR(#2936) review反馈
xpszyzbs3#
Day 6
x0fgdtte4#
异步分包将能大大降低主包尺寸的压力尺寸问题,普通分包就解决了吧,异步主要是解决不同分包之间互相引用
异步分包将能大大降低主包尺寸的压力
e0bqpujr5#
当项目达到一定的规模,普通分包已经无法解决主包过大问题:
微信新推出这个能力正好能解决上述问题,比增大主包尺寸要灵活、强大很多,应该是经过推敲的。理论上可以通过巧妙的代码依赖设计,充分用好20M的总包尺寸。
kxeu7u2r6#
该功能跨平台的话,似乎比较困难,还需要评估一下
sqxo8psd7#
是的,毕竟是微信刚推出的新特性,算是非常底层和实用的框架支持了。
我提交的PR改得也非常小心,除了公共类的cache代码外'packages/uni-cli-shared/lib/cache. js',其它都是微信的webpack loader代码,实现微信小程序的代码和配置翻译。再有就是vue component option的配置命名了,目前选用了和微信小程序一样的命名,因为不知道其它平台会如何跟进。但对小程序来说,也就微信雄霸一方了。
uz75evzq8#
微信小程序用的shadow-dom和不支持scope slot,让一切变得非常特殊,尤其对UI组件来说,样式穿透、节点关系等都不太一样,还有组件循环嵌套等。
有赞的VANT UI也不得不专门写了一套vant-weapp,我把它迁移到uniapp的框架体系,命名为iox ui,尽管加上了uniapp的预编译宏指令,依然难以完美兼容像支付宝之类的小程序。
提取平台的共性,同时支持平台的特性确实是个纠结而了不起的工作。
期望能尽早支持微信的分包异步化特性,包尺寸放大了确实能让小程序设计得更加强大。
oknrviil9#
@fxy060608评估得怎么样了,是否能接纳PR的实现方式?
按UNIAPP的发布周期,接纳并测试发布,也得一个月之后了。
6l7fqoea10#
目前正在处理 vue3 小程序迁移到vite,等vue3相关工作结束后,可以考虑实现组件的跨分包使用,我大概看了下这个PR,目前似乎没有考虑vue3,可以再评估下,是否可以设计一套更容易兼容vue2,vue3的定义方式,以及如何兼容其他平台,如果兼容不了,只能开发者自行条件编译区分?
p4tfgftt11#
谢谢回复!腾讯的分包异步化确实是个很聪明的做法,也是前端开发很成熟的技术了。
当前未考虑到vue3,目前适合vue2,用于uniapp 2.x。比较羡慕那些没有公共组件负担、或者已经完成自身组件库升级的同学,能直接上vue3。vue2到vue3在工程上是个漫长的过程。
我稍后会建一个patch工程,稍后发布到github上,供临时有需要的同学共享。
bqjvbblv12#
创建了一个patch工程,地址为:https://github.com/huadong/uniapp-patch
patch相关联的PR和issue:#2949#2936#1383
patches/@dcloudio+vue-cli-plugin-uni+2.0.0-32920210927002.patch
patches/@dcloudio+uni-cli-shared+2.0.0-32920210927002.patchpatches/@dcloudio+webpack-uni-mp-loader+2.0.0-32920210927002.patch
patches/@dcloudio+uni-mp-weixin+2.0.0-32920210927002.patch
patches/@dcloudio+types+2.5.12.patch
cclgggtu13#
@fxy060608 借题问一下,uni next版本目前有发布时间的预期么
a2mppw5e14#
目前小程序vite版本已经在内部测试,测试完成后,就会对外发布alpha版本,预计这2周左右就会发布
14条答案
按热度按时间dfddblmv1#
提交了一个PR,支持componentPlaceholder配置,望采纳。
bjp0bcyl2#
期待PR(#2936) review反馈
xpszyzbs3#
Day 6
x0fgdtte4#
异步分包将能大大降低主包尺寸的压力
尺寸问题,普通分包就解决了吧,异步主要是解决不同分包之间互相引用
e0bqpujr5#
当项目达到一定的规模,普通分包已经无法解决主包过大问题:
微信新推出这个能力正好能解决上述问题,比增大主包尺寸要灵活、强大很多,应该是经过推敲的。理论上可以通过巧妙的代码依赖设计,充分用好20M的总包尺寸。
kxeu7u2r6#
该功能跨平台的话,似乎比较困难,还需要评估一下
sqxo8psd7#
是的,毕竟是微信刚推出的新特性,算是非常底层和实用的框架支持了。
我提交的PR改得也非常小心,除了公共类的cache代码外'packages/uni-cli-shared/lib/cache. js',其它都是微信的webpack loader代码,实现微信小程序的代码和配置翻译。再有就是vue component option的配置命名了,目前选用了和微信小程序一样的命名,因为不知道其它平台会如何跟进。但对小程序来说,也就微信雄霸一方了。
uz75evzq8#
微信小程序用的shadow-dom和不支持scope slot,让一切变得非常特殊,尤其对UI组件来说,样式穿透、节点关系等都不太一样,还有组件循环嵌套等。
有赞的VANT UI也不得不专门写了一套vant-weapp,我把它迁移到uniapp的框架体系,命名为iox ui,尽管加上了uniapp的预编译宏指令,依然难以完美兼容像支付宝之类的小程序。
提取平台的共性,同时支持平台的特性确实是个纠结而了不起的工作。
期望能尽早支持微信的分包异步化特性,包尺寸放大了确实能让小程序设计得更加强大。
oknrviil9#
@fxy060608
评估得怎么样了,是否能接纳PR的实现方式?
按UNIAPP的发布周期,接纳并测试发布,也得一个月之后了。
6l7fqoea10#
目前正在处理 vue3 小程序迁移到vite,等vue3相关工作结束后,可以考虑实现组件的跨分包使用,我大概看了下这个PR,目前似乎没有考虑vue3,可以再评估下,是否可以设计一套更容易兼容vue2,vue3的定义方式,以及如何兼容其他平台,如果兼容不了,只能开发者自行条件编译区分?
p4tfgftt11#
谢谢回复!腾讯的分包异步化确实是个很聪明的做法,也是前端开发很成熟的技术了。
当前未考虑到vue3,目前适合vue2,用于uniapp 2.x。比较羡慕那些没有公共组件负担、或者已经完成自身组件库升级的同学,能直接上vue3。vue2到vue3在工程上是个漫长的过程。
我稍后会建一个patch工程,稍后发布到github上,供临时有需要的同学共享。
bqjvbblv12#
创建了一个patch工程,地址为:https://github.com/huadong/uniapp-patch
patch相关联的PR和issue:#2949#2936#1383
patches/@dcloudio+vue-cli-plugin-uni+2.0.0-32920210927002.patch
patches/@dcloudio+uni-cli-shared+2.0.0-32920210927002.patch
patches/@dcloudio+webpack-uni-mp-loader+2.0.0-32920210927002.patch
patches/@dcloudio+uni-mp-weixin+2.0.0-32920210927002.patch
patches/@dcloudio+types+2.5.12.patch
cclgggtu13#
@fxy060608 借题问一下,uni next版本目前有发布时间的预期么
a2mppw5e14#
目前小程序vite版本已经在内部测试,测试完成后,就会对外发布alpha版本,预计这2周左右就会发布