2026/4/18 12:29:38
网站建设
项目流程
单位写材料素材网站,无极电影网迅雷下载,建筑师网站,WordPress直接填写密码今天在 GitHub 上看到了一个让我 “大脑宕机” 的项目。作为一个写了多年代码的开发者#xff0c;我见识过把 HTML 写在 JS 里的#xff08;JSX#xff09;#xff0c;也见过把 CSS 写在 JS 里的#xff08;CSS-in-JS#xff09;。但我万万没想到#xff0c;2025 年快到…今天在 GitHub 上看到了一个让我 “大脑宕机” 的项目。作为一个写了多年代码的开发者我见识过把 HTML 写在 JS 里的JSX也见过把 CSS 写在 JS 里的CSS-in-JS。但我万万没想到2025 年快到了竟然有人发明了在 CSS 类名里写 SQL。没错你没看错。这个项目叫TailwindSQL。它的口号是“像写 TailwindCSS 一样用类名来写你的数据库查询”看完这个项目我的第一反应是这也太“抽象”了吧它是怎么玩的如果你用过 Tailwind CSS你一定熟悉这种写法通过组合text-center、p-4、bg-blue-500这样的小原子类来构建样式。TailwindSQL 把这个逻辑搬到了数据库查询上。假设你想从users表里查出名字name并且只查 ID 为 1 的用户。传统的 SQL 写法SELECT name FROM users WHERE id 1;TailwindSQL 的写法DB classNamedb-users-name-where-id-1 /是的你只需要在一个DB /组件上写一串 class它就自动变成了 SQL 查询并且把结果渲染出来。页面上会直接显示查询到的结果Larry Nadella。再看几个离谱的例子作者似乎是认真的他还搞出了更复杂的语法。1. 查列表并限制数量比如你想查products表里的商品标题限制前 5 条。DB classNamedb-products-title-limit-5 asul /加上asul它甚至直接给你渲染成一个无序列表ul。2. 排序按价格倒序排列DB classNamedb-products-orderby-price-desc /3. 连表查询Join最硬核的来了。如果你想把users表和posts表连起来查DB classNamedb-users-name-limit-5 astable Join tableposts onid-author_id selecttitle/ /DB这一顿操作下来前端可以直接“篡位”把后端的活干了。后端开发看完可能都要陷入沉思我原本是负责写 API 的现在只需维护表结构了吗这到底是什么黑科技看到这里你可能会问这玩意儿在浏览器里跑岂不是要把数据库密码暴露给用户了其实不会。TailwindSQL 主要是为了展示React Server Components (RSC)的能力。零运行时Zero Runtime这些查询是在构建时或服务器端解析的。安全性它使用 SQLite并且是在服务端运行不会把 SQL 逻辑发送到浏览器端。类型安全假的作者在官网上很幽默地标了一个标签——Type Safe*然后底下加了一行小字* Type safety not actually included并不包含真正的类型安全。这是一个正经项目吗作者在项目介绍里非常诚实。他在页面底部写了一句话“Built with using Next.js, SQLite, and questionable decisions. 用 Next.js、SQLite 和一些值得怀疑的决策精心构建。在 GitHub 的 README 里他也明确警告“Do whatever you want with it (except deploy to production ) 你想怎么玩都行除了把它部署到生产环境。所以这并不是一个为了颠覆现有开发模式而生的工具而是一次充满极客精神的“整活”。项目地址在这里https://github.com/mmarinovic/tailwindsql想围观的可以去看下