优化永不止步:TinyVue v3.20.0 正式发布,更美观的官网UI,更友好的文档搜索,更强大的主题配置能力~
本文由体验技术团队Kagol原创。
我们非常高兴地宣布,2024年12月4日,TinyVue 发布了 v3.20.0 🎉。
本次 3.20.0 版本主要有以下重大变更:
- OpenTiny 官网首页 UI 和性能优化,更具现代性和设计美感,加载速度更快、体验更好。
- TinyVue 官网增加 Algolia 全文搜索,原来只能搜索组件名称,现在可以搜索组件Demo和API文档,让你更容易搜索到自己想要的内容。
- 主题配置工具增加覆盖CSS功能,定制性更强,并且增加了老主题、Aurora主题的适配。
详细的 Release Notes 请参考:https://github.com/opentiny/tiny-vue/releases/tag/v3.20.0
本次版本共有13位贡献者参与开发,感谢朋友们的辛苦付出👏
- shenjunjian
- kagol
- zzcr
- gimmyhehe
- Davont
- GaoNeng-wWw
- betavs
- wuyiping0628
- Youyou-smiles
- James-9696
- chenxi-20
- mengqiuleo
- MomoPoppy
你可以更新 @opentiny/vue@3.20.0
进行体验!
npm i @opentiny/vue@3.20.0
我们一起来看看都有哪些更新吧!
1 OpenTiny 官网首页 UI 和性能优化
1.1 官网 UI 美化
2024年7月,我们对 TinyVue 网站的 UI 进行了优化,让组件文档阅读体验更友好。
- 设计师小姐姐加入之后,TinyVue 组件库官网焕然一新!
2024年11月,我们在 TinyVue 3.19.0 版本对组件库整个UI进行了升级,让UI更美观、更符合现代风格。
- 焕然一新!TinyVue 组件库 UI 大升级,更符合现代的审美!
- 🎉TinyVue v3.19.0 正式发布!Tree 组件终于支持虚拟滚动啦!UI 也升级啦,更更符合现代审美~
2024年12月,我们对 OpenTiny 官网首页进行了 UI 优化,更具现代性和设计美感,并对官网首页的加载性能进行优化,实现秒开。
我们对体验和性能的优化,永不止步!
欢迎大家访问 OpenTiny 官网进行体验:https://opentiny.design/
1.2 官网性能优化
之前 OpenTiny 首页打开比较慢,一个 js 文件就将近 8MB,存在性能问题。
于是我们全面分析了网站的构建产物,寻找性能瓶颈,并进行优化,以下是取得的主要成果:
- Lighthouse 性能分从68分提升到了93分,各项数据都有明显提升,提升37%左右;
- 构建产物体积从 8MB 降到 856KB(其中与首页相关的js代码仅有 450KB),提升近10倍;
- 构建时长从 50s 缩短到 7.63s,提升6.5倍左右。
Lighthouse 性能得分对比:
构建产物对比:
2 TinyVue 官网增加 Algolia 全文搜索
之前 TinyVue 组件库的官网只支持搜索组件,这样用户想找组件怎么用还是比较难的。
- 首先需要知道组件准确的名字
- 然后在左侧菜单打开组件的文档
- 还要在组件 demo 和 api 文档中一个一个看,自己要的功能在哪里,怎么配置
- 特别是有些组件功能非常复杂,比如表格,光是组件api就100多个
新手觉得很头大。
为了让不熟悉 TinyVue 组件库的新手也能快速找到组件文档,快速使用上 TinyVue,我们给 TinyVue 文档增加了 Algolia 全文搜索功能。
只需要打开 TinyVue 网站:https://opentiny.design/tiny-vue/
按 Ctrl + K
快捷键,或者点击左上角的搜索框,会弹出搜索面板,输入你想了解的内容,比如:"圆角按钮",按 Enter 就可以跳转到圆角按钮对应的页面。
跳转到圆角按钮页面:
再比如:"日期范围"
跳转到日期范围页面:
我不需要知道文档在哪里,要的时候我按 Ctrl + K
进行搜索就行了!
寻找文档的效率大大提升!
欢迎大家体验!
3 主题配置工具增加覆盖 CSS 功能
TinyVue 组件库提供了 TinyThemeTool
类进行主题切换和自定义主题配置,如果你的业务需要定制主题风格,或者覆盖某些组件的样式,可以考虑使用我们提供的 TinyThemeTool 工具。
3.1 自定义主题
v3.20.0 版本我们给 TinyThemeTool 增加了覆盖组件 CSS 样式的功能,使用方式如下:
ThemeData
是自定义主题数据格式,用户可以通过data
属性,传入覆盖的全局 CSS 变量
, 通过css
属性,传入有效的 CSS 规则块。
interface ThemeData { /** 主题的ID */ id?: string /** 主题的名称 */ name?: string /** 主题的中文名称 */ cnName?: string /** * 需要追加的全局css变量的对象 * 比如:{ 'tv-base-color-brand' : '#1476ff' } 会追加到 :root { --tv-base....... } * */ data?: Record<string, string> /** * 需要追加的样式规则, 以覆盖或扩充组件的样式 * 比如:.tiny-button { border:none; } * */ css?: string }
自定义主题的方式如下:
import TinyThemeToolfrom'@opentiny/vue-theme/theme-tool' const themeTool = newTinyThemeTool() themeTool.changeTheme({ name: 'my-app-custom-styles', data: { 'tv-base-color-brand': '#1476ff', 'tv-font-size-md': '12px', 'tv-font-size-lg': '16px', 'tv-font-size-xxl': '20px' }, css: ` .tiny-button { --tv-Button-border-radius: 6px; min-width: 80px; border:none; padding : 2px 20px; } .tiny-button.tiny-button--primary{ background-color: #508de3; } ` })
3.2 使用老主题或 Aurora 主题
我们不建议用户继续使用旧主题,对于历史项目,我们提供一组旧主题的CSS变量
,需要用户在工程中适配。
如果你实在不喜欢我们提供的新主题,想使用老主题或者 Aurora 主题,你可以通过 ThemeTool 工具进行配置。
import TinyThemeTool, { tinyOldTheme, tinyAuroraTheme } from '@opentiny/vue-theme/theme-tool' const themeTool = new TinyThemeTool(tinyOldTheme) // 传入 tinyAuroraTheme 可以配置 Aurora 主题 // themeTool.changeTheme(tinyOldTheme) // 动态切换主题
3.3 对新主题进行定制
如果你喜欢我们的新主题,但觉得新主题有一部分样式我不喜欢,那么你也可以自由定制。
比如你觉得新主题太大了,想改成小尺寸,你可以在 App.vue 中加上以下样式,覆盖默认的主题变量。
:root { --tv-size-height-xs: 24px; // mini 尺寸 --tv-size-height-sm: 24px; // small 尺寸 --tv-size-height-md: 28px; // medium 尺寸 - 默认 --tv-size-height-lg: 32px; // large 尺寸 --tv-size-height-xl: 36px; // xLarge 尺寸 }
效果对比:
除了以上优化之外,我们还对社区朋友们提到的以下问题进行了优化:
- 将按钮组件默认的全圆角改成了小圆角,用户可以通过配置 round 属性为 true 来设置大圆角
欢迎大家体验我们的 TinyVue 组件库,并在评论区进行反馈和交流~
关于OpenTiny
OpenTiny官网:https://opentiny.design
TinyVue 源码:https://github.com/opentiny/tiny-vue(欢迎 Star ⭐)
TinyEngine 源码:https://github.com/opentiny/tiny-engine(欢迎 Star ⭐)
B站:https://space.bilibili.com/15284299
欢迎加入 OpenTiny 开源社区。添加微信小助手 opentiny-official 一起参与交流前端技术~

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MyBatis布尔字段映射陷阱全过程解析
在开发过程中,我们常常会遇到一些看似简单却令人困惑的问题。本文记录了一次将 boolean 改为 Boolean 后,MyBatis 插入数据时出现的意外情况。本文不仅逐步揭示了问题的根本原因,还提供了解决方案,并强调了在开发中遵循规范和仔细排查问题的重要性。 背景 为了实现某个功能,需要为已有的表新增字段,其中有一个字段需要表达的含义是:是否有对话条数。 加字段要遵守规范,咱就去看了《阿里巴巴开发规约》的“MySQL规约”,有这么一段描述: 因此,“是否有对话条数”的字段名为 is_has_messages,数据类型为:unsigned tinyint(1表示是,0表示否;默认为1) 给mysql加好字段了,咱还得给 xxxDO 加上字段,按照上面的说法“POJO类中的任何布尔类型的变量,都不要加is前缀”,那就这么写: /** * 是否有对话条数;1表示是,0表示否 <br> * 默认为1 */private boolean hasMessages; 一切看起来是那么的自然~ 翻车 ▐奇怪的结果 is_has_messages 咋是0了?true 不应该映射为1吗?...
- 下一篇
双语对照的 PDF 翻译工具「GitHub 热点速览」
在 OpenAI 举办的「12天12场」发布会上,ChatGPT 的多项新功能正式亮相,包括 GPT-o1 正式版和 ChatGPT Pro(200 美元/月)、强化微调(Reinforcement Fine-Tuning)、Sora(视频生成)、增强版 Canvas(支持多模态创作与 Python 代码执行)、ChatGPT 扩展功能、ChatGPT Vision(语音视觉功能)、以及 Projects(项目管理)。这些功能使 ChatGPT 再次成为关注焦点,在此期间部分服务甚至一度中断达 4 小时。不知道 OpenAI 后面还有什么大招,小编也将持续关注,为您带来最新动态。 近日,吴恩达教授在 GitHub 上发布了一个名为 aisuite 的 Python 开源项目,旨在帮助开发者轻松接入多种生成式 AI 服务。同时,一款名为 PDFMathTranslate 的双语对照 PDF 翻译工具也备受关注,这两个项目均在 Python 热榜上占据了一席之地。令人眼前一亮、创新的开源终端 waveterm 通过内置图形小部件和 Web 浏览器,为开发者带来了全新的终端使用体验。最后,微...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能