前言
最近一直在寻找全能的全栈开发方案,今天终于种到了,迫不及待地想带大家真正动手体验一下 RedwoodJS ------ 一个现代化的全栈框架,从零开始,带你完整搭建一个全栈应用,真正感受它的开发流程和工程化设计魅力。
往期精彩推荐
- VsCode Colipot 🚗 + MCP Tools ✈️ = 让你的编程体验直接起飞 🚀🚀🚀
- 🚀🚀🚀MCP SDK 快速接入 DeepSeek 并添加工具!万万没想到MCP这么简单好用!
- 🚀🚀🚀 这六个事半功倍的 Pinia 库,你一定要知道!
- 更多精彩文章欢迎关注我的公众号:萌萌哒草头将军
正文
RedwoodJS
是为全栈开发者设计的一站式框架,它结合了 React、GraphQL、Prisma、TypeScript
等技术,旨在大幅降低开发难度。下面我们就用 RedwoodJS
搭建一个小应用,完整体验一下。
1. 安装 RedwoodJS
首先安装 RedwoodJS CLI
:
bash
npm create redwood-app@latest my-redwood-project

进入项目目录并下载依赖:
bash
cd my-redwood-project
yarn

如果版本较低,可能会报错,使用这个命令升级 yarn 版本:
bash
yarn set version 4.9.1
启动开发模式:
bash
yarn rw dev
此时浏览器会打开两个端口:
- 前端在
http://localhost:8910
- 后端 GraphQL API 在
http://localhost:8911/graphql

浏览器输入:http://localhost:8911/graphql
,进入 graphql
:

整体主要的项目结构如下:

2. 配置数据库
RedwoodJS
默认使用 SQLite
,配置文件在 api/db/schema.prisma
中。
比如添加一个简单的 Post
模型:
prisma
model Post {
id Int @id @default(autoincrement())
title String
body String
}
同步数据库:
bash
yarn rw prisma migrate dev --name create-posts
这样数据库表就建好了。


3. 自动生成后端 API
用 CLI
快速生成 SDL
(Schema Definition Language
)和服务逻辑:
bash
yarn rw generate sdl Post
yarn rw generate service Post
这会自动生成:
- GraphQL 类型定义
- 查询、创建、更新、删除的服务函数
- 测试文件
RedwoodJS 帮我们把一切后端接口打通了!
上的命令都执行报错了,显示文件已存在,就删除了数据库文件,重新执行了第二条,成功了
4. 自动生成前端页面
接着,生成前端 CRUD 页面:
bash
yarn rw generate scaffold post

它会自动生成:
- 列表页(
Posts
) - 创建页(
NewPost
) - 查看页(
Post
) - 编辑页(
EditPost
)

并且在左边导航栏自动加好链接。
打开浏览器,你就可以直接增删改查 Post 了!

5. 了解 RedwoodJS 的 Cell
在 RedwoodJS
中,数据请求采用 Cell
机制,统一处理四种状态:
- Loading
- Empty
- Failure
- Success
比如自动生成的 PostsCell.tsx
文件,大概是这样的结构:
ts
export const Loading = () => <div>Loading...</div>
export const Empty = () => <div>Post not found</div>
export const Failure = ({ error }: CellFailureProps<FindPostByIdVariables>) => (
<div className="rw-cell-error">{error?.message}</div>
)
export const Success = ({
post,
}: CellSuccessProps<FindPostById, FindPostByIdVariables>) => {
return <Post post={post} />
}
这样开发者只需要专注于每种状态下应该渲染什么,而不用手动写一堆 if-else
逻辑。
6. 部署 RedwoodJS 应用
RedwoodJS
天然支持 Serverless
平台,比如 Netlify
、Vercel
,只需执行:
bash
yarn rw deploy netlify
根据提示一步步操作,即可将应用部署到云端。
当然,如果你想部署到传统服务器,也可以打包成 Node.js
服务运行。
只需要很少的命令,就能快速交付一个全功能的应用,极大提升了开发效率。
最后
RedwoodJS
不仅仅是框架集合,它真正做到了工程化一体化,让全栈开发不再痛苦。如果你想探索「数据库 → API → 前端 UI」一条龙开发流程,RedwoodJS
会是非常不错的选择。未来还会继续带来更多 RedwoodJS 进阶玩法,敬请期待!
今天的分享就这些了,感谢大家的阅读,如果文章中存在错误的地方欢迎指正!