Full-Stack Development
概述
无需写任何 Rust 代码 — RaisFast 提供开箱即用的生产级后端。
不需要 Rust
RaisFast 是一个开箱即用的完整后端。你不需要编写、编译或理解任何 Rust 代码。
你需要的一切已经内置:
| 功能 | 状态 |
|---|---|
| REST API(25 个模块) | 内置 |
| 认证(JWT + 刷新令牌) | 内置 |
| 博客 / CMS | 内置 |
| 媒体上传与存储 | 内置 |
| 全文搜索 | 内置 |
| 电商(商品、订单、支付) | 内置 |
| 多租户 | 内置 |
| 管理后台 | 内置 |
| OpenAPI 文档 | 内置 |
只要你会 JavaScript,就能开发全栈应用。 用 React、Vue 或 Svelte 连接 REST API 即可。
渐进式开发路径
你不需要在第一天就学会所有东西。RaisFast 遵循渐进式模型:
第一阶段 — 使用内置 API(零代码)
直接用已有的功能。创建文章、上传媒体、管理用户 — 全部通过 REST 端点。
# 启动服务
raisfast
# 创建文章
curl -X POST http://localhost:9898/api/v1/admin/posts \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"My Post","content":"Hello world"}'第二阶段 — 定义数据模型(TOML,零代码)
当内置模块不够用时,用 TOML 文件定义自定义数据模型。RaisFast 自动创建数据库表和完整的 CRUD API。
name = "Article"
table = "articles"
plural = "articles"
[fields.title]
type = "text"
required = true
[fields.body]
type = "rich_text"
[fields.published]
type = "boolean"
default = false
[fields.author]
type = "relation"
related_type = "users"
relation = "many_to_one"重启服务即可获得:
GET /api/v1/admin/cms/articles— 列表POST /api/v1/admin/cms/articles— 创建GET /api/v1/admin/cms/articles/:id— 详情PUT /api/v1/admin/cms/articles/:id— 更新DELETE /api/v1/admin/cms/articles/:id— 删除
第三阶段 — 插件扩展(只需 JavaScript)
需要自定义业务逻辑时,用 JavaScript 编写插件(也支持 Rhai/Lua/WASM)。无需 Rust。
id = "my-plugin"
name = "My Plugin"
version = "1.0.0"
entrypoint = "index.js"
[[hooks]]
event = "post_created"
handler = "onPostCreated"function onPostCreated(ctx, post) {
ctx.log("New post created: " + post.title);
// 发送通知、更新缓存、触发 webhook...
}架构
┌─────────────────────────────────────────────┐
│ 前端 (React / Vue / Svelte / 原生 JS) │
│ ↕ REST API (JSON) │
├─────────────────────────────────────────────┤
│ RaisFast 后端 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 内置模块 │ │ 内容类型 │ │ 插件 │ │
│ │(25 个API)│ │ (TOML) │ │JS/Rhai │ │
│ │ │ │ │ │/Lua/WASM │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ SQLite / PostgreSQL / MySQL │ │
│ └──────────────────────────────────────┘ │
└─────────────────────────────────────────────┘一个二进制。一个进程。零依赖。
SDK
官方 @raisfast/sdk 框架无关、零依赖:
npm install @raisfast/sdkimport { RaisFast } from "@raisfast/sdk";
const client = new RaisFast({
baseUrl: "http://localhost:9898",
});
// 登录
const { access_token } = await client.auth.login({
email: "admin@raisfast.dev",
password: "admin123",
});
// 使用令牌
client.setToken(access_token);
const posts = await client.posts.list({ page: 1, limit: 10 });React、Vue、Svelte 或原生 JavaScript 用法完全一致。
你将学到什么
本节带你从零开始构建真实项目:
