admin管理员组

文章数量:1437157

Prisma 迎来史诗级加强!Redwood 开始支持 Vite !alien

前言

今天就单纯对齐下颗粒度,都是之前介绍的工具库,最近迎来了很大更新!

正文

Redwood
Redwood 的变迁:从框架到 SDK

RedwoodJS 最早以“全栈 React + GraphQL + Prisma”闻名,提供 Rails 式开发体验。然而社区逐渐发现,随着 Web 架构向边缘计算、Serverless 靠拢,传统的 monolithic 模式显得沉重。于是,Redwood SDK 应运而生:

简单说,现在的 Redwood 不再是一个“框架”,而是一个以 RSC 为中心的 React 应用开发套件。

使用 Vite 代替 Webpack

早期的 React Server Components 实现依赖 Webpack,这限制了其与现代工具链的融合。而 react-server-dom-vite 则让我们首次可以:

  • 在 Vite 中运行 RSC(带 HMR 支持)
  • 利用 ESM 和 Rollup 构建优势
  • 与 Cloudflare 等现代平台更好协作

RedwoodSDK 已经默认内置了该插件,并以极简形式集成进 Vite:

代码语言:javascript代码运行次数:0运行复制
import { defineConfig } from "vite";
import { redwood } from "@redwoodjs/sdk/vite";

export default defineConfig({
  plugins: [redwood()],
});

开发者几乎不需要写配置,就能拥有:

  • 文件系统路由
  • RSC 支持
  • 中间件钩子
  • Dev server + 服务端打包
Prisma

Prisma ORM 发布了 6.7.0 版本,该版本极大提升了开发体验,主要是一下一些方面的改进:

数据库支持变化
  • 新的 SQLite 驱动适配器

引入对 better-sqlite3 的支持,可在 Prisma 中使用该高性能的 JavaScript 原生 SQLite 驱动。目前该功能以 Preview 形式提供,启用 driverAdapters 后即可使用

  • 无 Rust 引擎支持

提供了全新的“无 Rust 引擎”版本(Query Compiler)的早期体验,目前已对 PostgreSQL 和 SQLite 可用。通过在 Prisma Client 的 generator 中启用 queryCompilerdriverAdapters 预览特性,即可使用该新架构。未来将逐步支持更多数据库。

代码语言:javascript代码运行次数:0运行复制
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["queryCompiler", "driverAdapters"]
  output          = "../generated/prisma"
}
开发者体验改进
  • 多文件 Schema GA

6.7.0 正式将 prismaSchemaFolder 功能投入生产环境,默认支持将 Prisma schema 拆分成多个文件管理,便于大型项目组织!这个功能太赞了!

之前的所有model 都是在一个文件中,而现在可以做到模块化了

生成的文件结构的变化

生成的文件结构的变化

  • 客户端输出拆分

新的 prisma-client 生成器将生成的 Prisma Client 库拆分为多个文件(按模型分文件,另附独立的枚举文件),避免了之前单一超大文件带来的编辑器卡顿问题。

  • 清除类型错误

6.7.0 确保生成的 Prisma Client 代码不会触发任何 ESLint 或 TypeScript 错误,提升 IDE 自动补全和类型检查的流畅度。

之前我就遇到过,代码明显没有问题但是一直给我报错,可难受了!

UserTrackLike 偶尔触发 es 报错

UserTrackLike 偶尔触发 es 报错

  • CLI 新功能

新增 prisma init --prompt(及别名 --vibe)选项,可根据自然语言提示自动生成并部署初始 Prisma schema,提高初始化效率,同时修复了之前在 Bun 运行环境下 prisma generate 在无 Node.js 环境时会卡住的问题(Bun 用户现可正常生成 Prisma Client)

其他优化
  • 查询性能大幅提升:6.7.0 引入了新的 Query Compiler 架构,将传统的 Rust 查询引擎替换为基于 WebAssembly 和 TypeScript 的轻量化方案。这一改进显著加快了数据库查询速度,并将生成的客户端库体积缩减了约 85%–90%,从而减小打包体积、提升运行效率
  • 客户端体积缩减:由于不再依赖独立的二进制查询引擎,Prisma Client 包含的底层引擎被集成到多文件输出中,整体包体积显著降低,有利于快速加载和构建
alien-signal

alien-signal 的一些新动态,首先是目前已经支持这么多的语言了!

更多语言支持

更多语言支持

其次,作者发推介绍,1.0 的传播很难理解,将会在2.0版本中得到改进!

2.0 开始重构

2.0 开始重构

最后

希望这篇文章可以帮你对齐颗粒度,减少信息差!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-30,如有侵权请联系 cloudcommunity@tencent 删除prismavite架构客户端重构

本文标签: Prisma 迎来史诗级加强!Redwood 开始支持 Vite !alien