第一个使用 TypeScript + Vue 3.0 Composition API 重构的组件库 Element Plus 发布了 🎉 ~
2016 年 3 月 13 日 Element 悄然诞生,经历了 4 年的风雨洗礼,我们从一个饿了么内部业务组件库成长为 Vue 生态里最流行的 UI 组件库之一。
截至本文撰写时,Element 已获得 48200 Github Star, NPM 下载量 95 万次/每月的可喜成绩。感谢超过 530 名社区贡献者的参与维护,和我们一同完成了 4400 次 commit 的更新迭代。
*Element 开发团队 40000 Github Star 庆祝会
Element Plus for Vue 3.0
2020 年,随着 Vue 3.0 不断完善和发布,我们也紧张投入到 Element 对 Vue 3.0 的升级适配工作中。历经 6 个月共计 23 个 alpha 版本的迭代,终于,在今天, Element Plus for Vue 3.0 Beta 版本正式发布 🎊 !
Vue 3.0 的大版本升级,对生态组件库来说也是一次丢掉历史包袱前行的好机会,我们大刀阔斧对 Element 进行了一次深度重构。
Element Plus for Vue 3.0 是一个使用 TypeScript + Composition API 重构的全新项目。我们几乎重写了每一行 Element 的代码,用最 Vue 3 的方式呈现了最完美的 Element,主要有:
- 使用 TypeScript 开发,提供完整的类型定义文件
- 使用 Vue 3.0 Composition API 降低耦合,简化逻辑
- 使用 Vue 3.0 Teleport 新特性重构挂载类组件
- 使用 Lerna 维护和管理项目
- 使用更轻量更通用的时间日期解决方案 Day.js
- 升级适配 popperjs, async-validator 等核心依赖
- 完善 52 种国际化语言支持
除此以外,还有:
- 全新的视觉*
- 优化的组件 API
- 更多自定义选项
- 更加详尽友好的文档
Q:Element Plus 和 Element UI 是什么关系? 为什么又一个新项目?
正如 vue-next
之于 vue
,一次 100% 的重构虽然解决了很多历史遗留问题,但也不可避免的引入一些新的 bug 和问题,而独立的 issue 和 pr 区可以减少大家使用和反馈的心智成本,也能更加方便我们定位问题,并行维护迭代。
Element will stay with Vue 2.x
For Vue 3.0, we recommend using Element Plus from the same team
具体可以参考 Element 的 README github.com/ElemeFE/ele…
Q: 老 Element 项目可以平滑升级到 Vue 3.0 + Element Plus 吗?
由于 Vue 3.0 升级引入了部分 API 的调整,老项目的升级不可避免的要做些许改动。但我们力争把变更内容做到可控,只需要很少的调整就能完成项目升级。在今后 Vue 3.0 的项目里,还是熟悉的 Element 的配方和味道。
Q: Element UI 还会维护吗?
当然会!(而且一直在正常迭代发布呀 ヽ(✿゚▽゚)ノ)
每每看到社区类似的担忧,对我们都是一种鞭策。作为一个负责任的开源项目,必然不会辜负大家的期待。随着用户的增多,肩上的压力也越来越大,希望大家使用了 Element 能真正为项目开发减负提效,这样我们多加班,大家早下班,想到这,感觉胸前的红领巾更鲜艳了😘。
开始体验吧
有很多方式可以体验 Element Plus for Vue 3.0
- 手动安装
npm install element-plus
,详见官网安装指南 - 下载 Webpack 脚手架 直接运行体验
- 🥳 尝鲜时下最炫酷的Vite 打包脚手架
- 通过 Vue CLI 插件 引入
What’s Next for Element Plus?
- 一次重大视觉更新
- 2 个全新组件紧张研发中
- 访问速度更快,功能更强大的官方网站
喜欢 Element Plus 吗?来点个 Star ❤️ 支持鼓励我们一下吧 ~
感谢大家 4 年以来对 Element 的关注,是你们的支持让 Element 不断完善,力争做到最好。我们也会不忘开源初心,反哺社区,未来将对社区更加开放,非常欢迎热爱开源的你来和我们一起完善 Element Plus —— 赠人玫瑰,手有余香,开源社区的维护,不仅仅是靠一个团队,一个公司,我们相信是靠所有热爱开源,拥有开源精神,热衷于分享和交流的朋友们。