RaisFastRaisFast
Full-Stack Development

项目搭建

搭建全栈开发环境 — 后端 + 前端热重载与 API 代理。

前提条件

  • 已安装 RaisFast
  • Node.js 18+(前端工具链)
  • 一个前端框架(React、Vue 或 Svelte)

后端搭建

创建 RaisFast 项目并启动服务:

# 创建项目
raisfast app new my-app
cd my-app

# 启动服务(默认端口 9898)
raisfast

服务运行在 http://localhost:9898,SQLite 数据库自动创建。

前端搭建

npm create vite@latest frontend -- --template react-ts
cd frontend
npm install
npm install @raisfast/sdk

vite.config.ts 中配置开发代理:

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";

export default defineConfig({
  plugins: [react()],
  server: {
    proxy: {
      "/api": {
        target: "http://localhost:9898",
        changeOrigin: true,
      },
    },
  },
});
npm create vue@latest frontend -- --typescript
cd frontend
npm install
npm install @raisfast/sdk

vite.config.ts 中配置开发代理:

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";

export default defineConfig({
  plugins: [vue()],
  server: {
    proxy: {
      "/api": {
        target: "http://localhost:9898",
        changeOrigin: true,
      },
    },
  },
});
npm create vite@latest frontend -- --template svelte-ts
cd frontend
npm install
npm install @raisfast/sdk

vite.config.ts 中配置开发代理:

import { defineConfig } from "vite";
import { svelte } from "@sveltejs/vite-plugin-svelte";

export default defineConfig({
  plugins: [svelte()],
  server: {
    proxy: {
      "/api": {
        target: "http://localhost:9898",
        changeOrigin: true,
      },
    },
  },
});

无需构建工具。通过 CDN 引入 SDK:

<script type="module">
  import { RaisFast } from "https://esm.sh/@raisfast/sdk";

  const client = new RaisFast({
    baseUrl: "http://localhost:9898",
  });

  const posts = await client.posts.list();
  console.log(posts);
</script>

初始化 SDK

创建共享的客户端实例:

import { RaisFast } from "@raisfast/sdk";

export const client = new RaisFast({
  baseUrl: "/api", // 开发时代理,生产时直连
});

开发环境由 Vite 将 /api 代理到 http://localhost:9898/api。生产环境将前端部署在 RaisFast 同域名下即可。

推荐项目结构

my-app/
├── config.toml              # RaisFast 配置
├── .env                     # 环境变量
├── extensions/
│   ├── content_types/       # 自定义数据模型(TOML)
│   └── plugins/             # 插件代码(JS)
├── storage/
│   ├── db/                  # SQLite 数据库
│   └── uploads/             # 媒体文件
└── frontend/                # 前端应用
    ├── src/
    │   ├── lib/
    │   │   └── client.ts    # SDK 客户端实例
    │   ├── pages/
    │   ├── components/
    │   └── App.tsx
    ├── package.json
    └── vite.config.ts

验证环境

在两个终端分别启动服务:

# 终端 1 — 后端
cd my-app && raisfast

# 终端 2 — 前端
cd my-app/frontend && npm run dev

在前端测试连接:

const health = await fetch("/api/health").then((r) => r.json());
console.log(health); // { status: "ok" }

下一步

环境就绪后,继续学习认证集成

On this page