一个基于 Next.js、Cloudflare Pages 和 Cloudflare D1 数据库构建的模版教学类项目。
- ⚡️ 基于 Next.js,性能优秀、部署便捷。
- 🎯 支持渲染自定义 React 组件,类似 MDX 体验,内容更灵活。
- 🔍 支持服务器端渲染 (SSR),增强 SEO 效果。
- 💾 通过 Cloudflare D1 和 Drizzle ORM 实现数据库存储,高效可靠。
- 🎨 UI 采用 Tailwind CSS 和 Shadcn/ui,风格现代、易于定制。
- 🚀 使用 Cloudflare Pages 部署,全球访问快速稳定。
- 框架:Next.js、Hono.js
- 数据库:Cloudflare D1、Drizzle ORM
- Markdown 编辑器:Vditor
- Markdown 解析器:markdown-to-jsx
- UI 框架:Tailwind CSS、Shadcn/ui
- 部署平台:Cloudflare Pages
- NEXT_PUBLIC_BASE_URL: 项目 URL 地址
- AUTH_SECRET: NextAuth Secret,用来加密 session,请设置一个随机字符串
- CLOUDFLARE_API_TOKEN: Cloudflare API Token
- CLOUDFLARE_ACCOUNT_ID: Cloudflare Account ID
- PROJECT_NAME: Pages 项目名
- DATABASE_NAME: D1 数据库名称
- DATABASE_ID: D1 数据库 ID
- KV_NAMESPACE_NAME: Cloudflare KV namespace 名称,用于存储网站配置(可选,如果不填,则为 next-blog-kv)
- KV_NAMESPACE_ID: Cloudflare KV namespace ID,用于存储网站配置 (可选, 如果不填, 则会自动通过 Cloudflare API 获取)
- 克隆仓库:
git clone https://github.com/Shiinama/ai-destiny-tools
cd ai-destiny-tools- 安装依赖:
pnpm install-
修改配置文件 在
wrangler.jsonc设置 Cloudflare D1 数据库名以及数据库 ID -
设置环境变量:
cp .env.example .env.local设置 NEXT_PUBLIC_BASE_URL, AUTH_SECRET
- 创建本地数据库表结构:
pnpm db:migrate-local- 本地运行:
pnpm run dev-
执行《🚧 开发》中的步骤 1~4
-
创建远程数据库表结构:
pnpm db:migrate-remote- 部署:
pnpm run deploy- 如何获取
CLOUDFLARE_ACCOUNT_ID和CLOUDFLARE_API_TOKEN?
-
复制如图所示的值,这就是
CLOUDFLARE_ACCOUNT_ID -
点击右上角小人图标,选择配置文件
-
在左边的菜单选择 API 令牌
-
创建一个自定义令牌,这就是
CLOUDFLARE_API_TOKEN -
该 token 只会显示一次,请妥善保存
欢迎提交 Pull Request 或者 Issue 来帮助改进这个项目
本项目采用 MIT 许可证