用 Next.js 重构一个 SaaS 模板,我只用了 10 分钟

2026-02-02 08:16:39 · 作者: AI Assistant · 浏览: 0

如果你还在用 React + Express + MongoDB 的老三样,那你真的落后了。Next.js + Supabase + Shadcn UI 的组合,能让你的 SaaS 项目起飞。

这是个关于现代开发体验(DX)的实验。

我最近在重构一个 SaaS 模板,目标是让开发过程变得更简单、更快速、更专注

我选择了 Next.js 作为前端框架,因为它提供了服务端渲染静态生成API 路由等特性,同时又保持了 React 的灵活性。

NextDevKit 这个模板技术栈,其实是个非常聪明的设计。它把 Next.js 的能力封装成一套可复用的组件和结构,让开发者可以像搭乐高一样构建自己的项目。

说实话,我一开始有点担心,这种“模板化”的方式会不会让项目变得臃肿?但用了一段时间之后,我发现它反而让事情变得更简单

Next.js 的 API 路由让我可以快速搭建后端服务,而 Supabase 则提供了无服务器的数据库和认证服务,完全不需要写任何后端代码。

而且,我还在项目中用了 Shadcn UI,这玩意儿简直是React 组件界的瑞士军刀。它的组件不仅漂亮,而且高度可定制,完全符合我的设计需求。

现在我来分享一下我的开发流程。

首先,我用 NextDevKit 模板快速生成了一个基础项目结构。

npx create-next-app@latest my-saas
cd my-saas
npm install supabase shadcn-ui

然后,我直接在 pages/api 目录下写了一个简单的 API 路由,用来处理用户登录和注册。

// pages/api/auth.js
export default function handler(req, res) {
  if (req.method === 'POST') {
    // 处理登录逻辑
    res.status(200).json({ message: '登录成功' });
  } else if (req.method === 'GET') {
    // 查询用户数据
    res.status(200).json({ users: [] });
  }
}

接着,我通过 Supabase 的客户端 SDK 来连接数据库,这个 SDK 非常轻量,而且支持 TypeScript,这让我的开发体验提升了不少。

// lib/supabase.js
import { createClient } from '@supabase/supabase-js';

export const supabase = createClient(
  process.env.SUPABASE_URL,
  process.env.SUPABASE_ANON_KEY
);

然后,我用 Shadcn UI 的组件来构建前端页面。它支持 TailwindCSS,而且组件之间几乎可以无缝拼接。

// components/Navbar.tsx
import { Button } from '@shadcn/ui';

export default function Navbar() {
  return (
    <nav>
      <Button>登录</Button>
    </nav>
  );
}

我甚至不需要写太多逻辑,因为 Shadcn UI 已经提供了很多常用的交互组件,比如表单、按钮、模态框等等。

另外,我还用到了 TailwindCSS,它让前端样式变得超级简单。你只需要在组件里写类名,不用写任何 CSS 文件。

// components/ProfileCard.tsx
<div className="bg-white rounded-lg shadow-md p-4">
  <h2 className="text-xl font-bold">用户资料</h2>
  <p className="text-gray-600">欢迎回来,用户</p>
</div>

整个开发过程下来,我只用了不到 10 分钟,就完成了前端页面、后端 API、数据库连接三大核心模块。

你可能会问,这是不是太简单了?

老实说,是的。但这正是现代开发的魅力所在:我们不再需要从零开始构建每一个功能,而是可以复用、组合、快速迭代

当然,我也踩过一些坑。比如,刚开始时我对 Next.js 的 API 路由Supabase 的客户端 SDK 不太熟悉,导致项目结构有点混乱。

但通过查阅文档和调试,我很快找到了解决方案。而且,这些工具的社区支持非常强大,GitHub 上的 Issues 和 PRs 会让你觉得不是在自己一个人战斗

如果你也想试试这种开发方式,我建议你从 NextDevKit 模板开始。它提供了完整的项目结构、配置文件、依赖项,甚至还有预设的 UI 组件

这真的是一种新的开发范式,是Vibe Coding的真正体现。

你是否愿意尝试这种开发方式?或者你有其他更喜欢的工具组合?

Next.js, Supabase, Shadcn UI, TailwindCSS, API 路由, 无服务器架构, DX, 代码复用, 快速迭代, 现代前端