TinySearchBox 综合搜索组件重磅更新:实现 Vue 2 和 Vue 3 双版本适配!

"一次编写,到处运行" —— 这次我们真的做到了!🎊
📢 重大更新
经过团队的努力,TinySearchBox 再度重构!采用全新的 Renderless 架构(实现原理下期给大家详细介绍),TinySearchBox 现在正式支持:
✅ 一套代码,两个版本, Vue 2 和 Vue 3 双版本支持
这意味着什么?无论你的项目是 Vue 2 还是 Vue 3,TinySearchBox 都能完美适配!
🚀 快速开始
Vue 3 项目
Vue 2 项目
📦 版本说明
包名和版本对应表
选择指南:
🎯 Vue 3 项目:使用
3.27.1版本🎯 Vue 2 项目:使用
2.27.1版本
🛠️ 技术实现:Renderless 架构
🤔 为什么能做到"一套代码,两个版本"?
答案就是:Renderless 架构!
核心思路
关键技术点
1. @opentiny/vue-common - 兼容层魔法
vue-common 是核心兼容层,它:
提供统一的 API(
defineComponent、setup、reactive等)自动适配 Vue 2 和 Vue 3 的差异
让开发者无需关心底层实现
2. 逻辑与模板分离
模板层(
pc.vue):只负责 UI 展示逻辑层(
renderless.ts):处理所有业务逻辑入口层(
index.ts):统一对外接口
这样的设计让:
逻辑可以在不同版本间复用
模板可以根据版本调整
代码组织更清晰
3. 构建时适配
通过不同的 Vite 配置,在构建时:
Vue 2 版本:使用
vite-plugin-vue2和 Vue 2 运行时Vue 3 版本:使用
@vitejs/plugin-vue和 Vue 3 运行时
4. 样式系统
普通主题:使用 Less,编译为 CSS
💡 实现方案详解
方案架构图
关键技术实现
1. Renderless 架构
关键点:
hooks来自vue-common,自动适配 Vue 2/3context统一了 Vue 2/3 的差异(如emit、slots)返回的
api对象会被注入到模板中
2. 模板连接
关键点:
setup函数来自vue-common自动处理 Vue 2/3 的差异
将
renderless返回的 API 注入到模板
🎯 使用场景
场景 1:Vue 2 老项目升级
问题:你的项目还在用 Vue 2,但想用现代化的搜索组件?
解决方案:直接安装 Vue 2 版本!
无需升级 Vue,无需重构代码,开箱即用!
场景 2:Vue 3 新项目
问题:新项目想用最新的技术栈?
解决方案:使用 Vue 3 版本!
享受 Vue 3 的性能优势和 Composition API!
🔥 核心优势
1. 真正的"一次编写,到处运行"
✅ 一套源代码
✅ 两个构建版本
✅ 零代码差异
2. 完美的兼容性
✅ Vue 2.6.14+ 支持
✅ Vue 3.x 支持
✅ TypeScript 支持
✅ 完整的类型定义
3. 灵活的主题系统
✅ 主题:经典企业级风格
✅ 支持样式定制
4. 优秀的开发体验
✅ 完整的 TypeScript 类型
✅ 详细的文档和示例
✅ 丰富的 API
✅ 活跃的社区支持
📚 文档资源
🎊 总结
TinySearchBox 现在真正做到了:
🎯 Vue 2 和 Vue 3 全支持 - 维护成本低,兼容性高
💪 Renderless 架构 - 代码组织清晰,易于扩展
还在等什么?赶紧试试吧! 🎉
🤝 贡献与反馈
Happy Coding! 🎉
记住:选择 TinySearchBox,就是选择了兼容性、灵活性和可维护性!
关于 OpenTiny
欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~
OpenTiny 官网:https://opentiny.design
OpenTiny 代码仓库:https://github.com/opentiny
TinyVue 源码:https://github.com/opentiny/tiny-vue
TinyEngine 源码: https://github.com/opentiny/tiny-engine
欢迎进入代码仓库 Star🌟TinyEngine、TinyVue、TinyNG、TinyCLI、TinyEditor~如果你也想要共建,可以进入代码仓库,找到 good first issue 标签,一起参与开源贡献~
版权声明: 本文为 InfoQ 作者【OpenTiny社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/59ef333f0d407eb9d98d8f90f】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。







评论