HackerNews
为了更好地测试所有生态系统组件能否协同工作,我们 Fork 了 Evan You 的经典 Vue HackerNews 2.0 作为 Vue Lynx 的「真实世界」验证基准。由于 Vue Lynx 基于 Vue 3,我们同时使用了社区的 Vue HackerNews 3.0 移植版作为参考。这个移植验证了四个主流生态库的协同工作:Vue Router、Pinia、TanStack Vue Query 和 Tailwind CSS。
Tailwind CSS 版本
在第一轮迭代中,我们让 AI 用 Tailwind CSS (@lynx-js/tailwind-preset) 重写了样式。
CSS 版本
在这一版中,我们让 AI 尽可能复用参考实现原有的 SCSS 文件。有趣的是,CSS 版本保留了桌面端的 max-width 居中布局。你可以点击下方的「全屏」按钮来体验这个效果。
改动概览
大部分代码可以直接迁移 —— 组件逻辑、Vue Router、Composition API,甚至 <Transition>/<TransitionGroup> 都完全一致。Vue HackerNews 3.0 参考实现是一个基于 Webpack 的 SSR 应用,使用 Vue 3 + Vuex 4 + axios。移植到 Lynx 时的改动如下:
值得注意的适配:
- 没有
v-html:Lynx 没有 HTML 解析器,所以我们用stripHtml()工具函数将 HTML 评论转换为纯文本 <router-link>:用 Vue Router 的customslot API 包装,因为 Lynx 没有<a>标签