开源一个 Nuxt 4 导航站模板,功能完整,拿来即用!

开源一个 Nuxt 4 目录网站模板,功能完整,拿来即用!

🎯 前言

大家好,我是 Pub。

最近开源了一个项目 Nuxt Mkdirs ------ 一个基于 Nuxt 4 构建的目录网站模板。

🔗 GitHub: github.com/PBHAHAHA/Nu...

🌐 介绍页地址: nuxt-mkdirs.com

这个项目之前是作为付费模板在卖,但效果不太理想,索性开源出来,希望能帮到有需要的同学。

先放几张效果图:

🤔 为什么做这个?

目录网站(Directory Website)是一种很常见的网站类型:

  • 🤖 AI 工具导航站
  • 💻 独立开发者产品目录
  • 📦 SaaS 产品收录站
  • 🎨 设计资源导航

市面上的目录模板大多是 Next.js,Vue Nuxt 生态相对较少

作为一个 Vue/Nuxt 开发者,我决定自己撸一个,顺便把常用的功能都集成进去。

🛠️ 技术栈

类别 技术
框架 Nuxt 4 + Vue 3
样式 TailwindCSS 4 + Radix Vue
CMS Sanity(无头 CMS)
认证 Auth.js(Google/GitHub OAuth)
支付 Stripe + Creem
邮件 Resend
部署 NuxtHub(Cloudflare)

为什么用 Sanity 而不是数据库?

可能有同学会问:为什么不用 MySQL/PostgreSQL?

Sanity 作为无头 CMS 的优势:

  1. 零数据库配置 - 不需要自己搭建和维护数据库
  2. 可视化后台 - Sanity Studio 开箱即用
  3. 免费额度充足 - 小型项目完全够用
  4. 自带图片 CDN - 不用操心图片存储

✨ 核心功能

1️⃣ 三种首页布局

提供了 3 种不同风格的首页,开箱即用:

bash 复制代码
/          # 默认首页
/home2     # 布局二
/home3     # 布局三

2️⃣ 完整的目录系统

  • 分类 (Category) - 支持分组展示
  • 标签 (Tag) - 多标签筛选
  • 集合 (Collection) - 自定义产品集合
  • 搜索 - 全文搜索

3️⃣ 用户系统

  • Google / GitHub OAuth 一键登录
  • 用户 Dashboard
  • 个人设置

4️⃣ 内容提交 & 审核流程

复制代码
用户提交 → 待审核 → 管理员审核 → 发布/拒绝

用户可以提交产品,管理员在 Sanity Studio 后台审核。

5️⃣ 双支付系统

  • Stripe - 国际支付
  • Creem - 🇨🇳 国内友好,支持大陆身份证注册

💡 对于国内开发者,强烈推荐 Creem,注册简单,不需要公司资质。

6️⃣ 博客系统

内置博客功能,支持 Markdown,可以用来做 SEO 引流。

7️⃣ Newsletter 订阅

集成 Resend 邮件服务,支持:

  • 邮件订阅
  • 一键退订
  • 订阅者管理

8️⃣ AI 集成(可选)

支持接入:

  • Google AI (Gemini)
  • DeepSeek
  • OpenAI

可以用来自动生成产品描述、智能分类等。

📁 项目结构

csharp 复制代码
nuxt-mkdirs/
├── app/
│   ├── components/     # 53+ 组件
│   ├── composables/    # 组合式函数
│   ├── layouts/        # 3 种布局
│   ├── pages/          # 30+ 页面
│   └── config/         # 站点配置
├── server/
│   ├── api/            # 38+ API 路由
│   └── utils/          # 服务端工具
├── sanity/
│   └── schemas/        # 16 个 Schema
└── public/             # 静态资源

🚀 快速开始

bash 复制代码
# 克隆项目
git clone https://github.com/PBHAHAHA/Nuxt_Mkdirs.git
cd Nuxt_Mkdirs

# 安装依赖
pnpm install

# 复制环境变量
cp .env.example .env

# 启动开发服务器
pnpm dev

访问 http://localhost:3000 即可看到效果。

⚙️ 配置说明

Sanity CMS(必需)

bash 复制代码
NUXT_PUBLIC_SANITY_PROJECT_ID=your_project_id
NUXT_PUBLIC_SANITY_DATASET=production
NUXT_SANITY_API_TOKEN=your_api_token

OAuth 认证(可选)

bash 复制代码
# Google
NUXT_AUTH_GOOGLE_CLIENT_ID=xxx
NUXT_AUTH_GOOGLE_CLIENT_SECRET=xxx

# GitHub
NUXT_AUTH_GITHUB_CLIENT_ID=xxx
NUXT_AUTH_GITHUB_CLIENT_SECRET=xxx

# Secret(用 openssl rand -base64 32 生成)
NUXT_AUTH_SECRET=xxx

邮件服务(可选)

bash 复制代码
NUXT_RESEND_API_KEY=re_xxxxx
NUXT_RESEND_EMAIL_FROM=noreply@yourdomain.com

支付(可选)

bash 复制代码
# Stripe(国际)
NUXT_STRIPE_SECRET_KEY=sk_xxxxx

# Creem(国内推荐)
NUXT_CREEM_API_KEY=xxxxx

🌐 一键部署

推荐使用 NuxtHub 部署到 Cloudflare:

bash 复制代码
npx nuxthub deploy

也支持 Vercel、Netlify 等平台。

📄 开源协议

MIT 协议,可以自由使用、修改、商用。

🙏 写在最后

这个项目前前后后花了不少时间,虽然作为付费模板没卖出去几份,但开源出来希望能帮到更多人。

如果这个项目对你有帮助:

  • Star 一下支持作者
  • 🐛 发现 Bug 欢迎提 Issue
  • 📢 分享给有需要的朋友
  • 💬 有问题可以评论区交流

🔗 GitHub: github.com/PBHAHAHA/Nu...

也可以加我微信交流:w314709923x

如果觉得有帮助,别忘了点赞 👍 收藏 ⭐ 关注 ➕ 三连哦~

相关推荐
JarvanMo2 小时前
终于来了!Flutter 拥有了一个可用的液态玻璃解决方案!
前端
IvorySQL2 小时前
PostgreSQL 19:超高速聚合的全新突破
数据库·人工智能·postgresql·开源
b***74882 小时前
前端技术的边界正在消失:迈向体验统一与智能化驱动的新阶段
前端
lvchaoq2 小时前
解决组件不能远程搜索的问题
前端·bug
GIS好难学2 小时前
2025年华中农业大学暑期实训优秀作品(5):智慧煤仓监控系统平台——重塑煤炭仓储管理新模式
前端·vue.js·信息可视化·gis开发·webgis
TextIn智能文档云平台3 小时前
开源OCR大模型和闭源工具怎么选?
开源·ocr
十六年开源服务商3 小时前
网站套餐选择:开源CMS系统怎么做
开源
timer_0173 小时前
Mistral AI 发布第二代开源编码模型:Devstral2 和 Devstral Small2
人工智能·开源
Highcharts.js3 小时前
Highcharts Dashboards 官方文档|如何创建第一个看板
前端·开发文档·仪表板·highcharts·创建看板