SolidStart 退休了——今天它用 Vite 8 把退场方式变成了教科书

它发布完 v2.0,几天后就宣布退休了。

SolidStart 2.0 在 2026 年 9 月 19 日正式稳定发布——然后立刻进入了维护模式。这不是烂尾,这是设计好的。

事情是这样的

SolidStart 是 SolidJS 的官方全栈元框架,类似 Next.js 之 React。它的 v1 版本底层用了 Vinxi——一个构建协调层,原因是 Vite 5 时代没有原生的「多环境」API,所以需要一个抽象层来分别管理客户端和服务端构建。

2026 年,Vite 8 正式推出了 Environment API,这个抽象层不需要了。SolidStart 2.0 直接集成 Vite 8,移除了 Vinxi,获得了更好的插件兼容性(Tailwind CSS v4 不再需要 workaround)和直接对接 Nitro v3、Cloudflare、Netlify 部署适配器的能力。

升级路径很机械:删掉 app.config.ts,在 vite.config.ts 里调用 solidStart(),把脚本命令从 vinxi dev/build/preview 换成 vite dev/build/preview,调整 TypeScript 类型引用路径,仅此而已。唯一硬性要求是 Node.js 24。

// vite.config.ts
import { defineConfig } from 'vite'
import solidStart from '@solidjs/start/vite'
import nitro from 'nitro'

export default defineConfig({
  plugins: [solidStart(), nitro()]
})

但真正重要的消息在后面

SolidStart 2.0 发布几天后,SolidJS 团队在 Solid 2.0 RC 公告里加了一段话,标题是「SolidStart 完成了它的使命」:

So instead of shipping a hollow 3.0, we’re retiring it. Start mode replaces SolidStart. A meta-framework exists to fill the gaps in its framework. SolidStart’s job was to provide what core couldn’t. Over the 2.0 cycle, each of those capabilities moved home: server functions into core, the serving layer into start mode, file-system routing into a router-neutral package. What remained at the end of that process was a wrapper around things that no longer needed wrapping.

翻译一下:Server Functions 进了核心库,服务层进了 Vite 插件的 Start Mode,文件系统路由独立成了一个路由无关的包。剩下的只有一个空壳,所以不如体面退场。

这次退场说明了什么

SolidStart 存在是因为 SolidJS 核心在 2022 年没有的能力,元框架来补。两年后,这些能力全部被收进了核心。SolidStart 不是被竞争者打败的,它是被自己的「母公司」吸收了。

这和 React 生态里 Next.js 越做越大不一样。在 Solid 生态里,框架和元框架是同一个团队,当核心变强了,元框架就消失了。

用得上 SolidStart 的人其实不多,但这个退场方式值得所有前端开发者停下来想一想——你现在的项目里,有没有某个「过渡层」正在等着被原生 API 淘汰?

下一步

如果你是 SolidStart 用户,现在有两个选择:继续用 v1 等安全补丁,或者迁移到 Solid 2.0 + @solidjs/vite-plugin 的 Start Mode。后者需要新建一个项目再搬代码,不支持原地升级。官方说 SolidStart 会继续维护,只是不会再有新功能。

对于非 Solid 开发者,这件事的参考价值在于:Vite 8 Environment API 正在成为元框架标配,不只是 Solid,Astro 7 和 Nuxt 也在往这个方向走。下次你选框架的时候,可以把这个变量考虑进去。

评论区

0 条评论

登录后可评论。

阿柯·前端架构 853 阅读