前言
大家好,我是村长,欢迎关注我的公众号村长学前端。最近在与DevUI团队一起做直播,给大家分享Vue DevUI开源组件库的建设,欢迎大家关注我们直播,多给项目star支持一下!
今天参加了前端早早聊组织的【vue生态专场】,准备写一波分享方便大家学习。早上有4个话题:volar开发,搭建平台组件开发和维护,尤大分享vue生态进展和展望,小姐姐分享gogocode迁移老项目。干货很多,这里先分享一下小右带来的一些新消息,感觉和我们写代码关系最大。
为什么还不是默认版本?
就很快!要等大部分生态跟上才行,显然现在已经准备就绪了。
更详细解释“软着陆”的原因:
- vue3需要时间变得稳定
- 生态需要时间跟上
- 在成为默认版本之前需要打磨vue3
f
大版本升级的原因
- 正确的架构设计
- 产出新的基础功能
- 摆脱技术债
大版本升级需要考虑的一些因素
- 向后兼容
- 易升级
- 实现和维护成本
- 改进程度
image-2021102310223550
vue3如何在成本和改进程度中取舍
- 主要改进
f
vue3完成体到来,转折点也要来了
image-2021102310444299
其实很多时间都花在vite上面了,全新开发生态
image-202110230534685
欧美市场没有支持IE11的必要了
image-2021102110614493
vue3生态已经跟上来啦!
- nuxt3:这个尤大多次强力推荐,我以前使用nuxt2也觉得贼6,准备做一波分享,欢迎大家关注我B站
- VueUse:针对vue3 composition api的工具库
- 兼容vue3的组件库
- Ionic等移动端框架
image-2021102110658127image-2021102310733837
image-2021123110845884
image-202110230931902
vue3在持续变好
-
script setup
成为正式功能,赶紧用! - style v-bind成为正式功能
- defineCustomElement:可以用vue写组件库,输出为原生组件,可以用在其他框架中,可用于微前端
- reactivity性能提升明显,大应用会更明显
- effectScope API:用在高级应用中,比如VueUse,penia,状态管理库非常推荐大家使用pinia
- ref转换
- props转换
Ref Transform
这个说了很多,花费好几页,还有代码演示,可见尤大很重视,不过这样的语法会不会又引起腥风血雨般的讨论?
演示了$语法糖,有了它可以忘了.value
演示$$使用,通常用于hooks编写
结构props转换
又演示了另一个开发痛点是关于属性解构会导致的心智负担问题,通过props transform即可解决。
比如下面代码中对属性做解构之后,甚至可以设置默认值,起别名,和rest展开,可以看到foo是响应式的,秀的一批。
桥接到vue2
让大家可以在vue2中享受vue3的开发体验:
- 迁移创建版本:@vue/compat,一个vue3创建版本提供可配置的vue2兼容行为
- vue-demi:为vue2、vue3编写通用库
- vite-plugin-vue2:vite中写vue2
- unplugin-script-setup-vue2:vue2中使用script setup
- vue 2.7:披着vue3外壳的vue2
新文档
- 暗黑模式
- 基于vitepress
- 升级建议和最佳实践:最新功能推荐,不会错过新东西
- 重新组织学习路线
新官网
官网也会升级,包括大量重写的向导、随意切换新旧API,新案例,新模块等
随意切换options api和composition api
所见即所得!
最后变化总结
- 新文档马上上
- 官网默认vue3
- npm latest标签指向vue3
- github上会分开
- 保留issue链接
- vue-next会重命名为core
小意外
尤大在新加坡的酒店大堂做直播,生怕有人凑过来还要戴口罩。结果中间还是意外掉线了,等恢复了发现已经讲完了,尤大瞬间崩了,显然第二遍讲加快了速度,以至于我们听得有点不够爽,但还是再次感谢他的分享,祝他在新加坡生活愉快!
Q&A环节
vue2还会维护吗?
2.7将会是vue2最后一个小版本,在维护18个月,之后彻底进入
vue3还会有变化吗?
主要是ssr前提下进一步优化客户端性能
巨型vue2如何升级vue3
有欧美分享,大家搜一下。下午也有个分享做这个。
新加坡感觉如何
吃的东西多,随便点,非常开心!
Vite未来规划
目前稳定,没重大改动,稳定ssr实现;很多基于vite做底层的生态在兴起,vite会做成对前端生态有帮助的东西。
pinia会替代vuex吗
很大概率,都是core team成员,讨论结果未来形态会很像pinia,新东西都写在pinia里,如果开发一个新项目,如果使用ts,推荐使用pinia。
如何评价自由职业
自由很理想,很爽,命运掌握在自己手里;同时压力在自己身上,没有公司兜底,选择了就要做好承受这些的准备。
写在最后
最近在与DevUI团队一起做直播,给大家分享Vue DevUI如何参与开源建设甚至开发自己的组件库,感兴趣的小伙伴可以观看学习往期回放:
- 【我要做开源】Vue DevUI开源指南01:提交我的第一次pr
- 【我要做开源】Vue DevUI开源指南02:实现一个能渲染多层节点的Tree组件
- 【我要做开源】Vue DevUI开源指南03:如何给 tree 组件增加展开/收起功能
- 【我要做开源】Vue DevUI开源指南04:使用Vite搭建一个支持TypeScript/JSX的Vue3组件库工程
- 【我要做开源】Vue DevUI开源指南05:给Vue3组件库添加VitePress文档系统
- 【我要做开源】Vue DevUI开源指南06:开源组件库中的CLI脚手架建设,再也不用担心重复工作和代码风格混乱了!
此系列就会一直做下去,欢迎关注我的公众号村长学前端,加群讨论学习,每次直播都会在群内发通知,直播文档也会在群内发放,不错过每一次直播!