NuxtHub部署nuxt项目就是方便

大家好~我是Pub

最近一直在开发面向海外的应用,基本都是用Nuxt进行全栈开发的。从开发到部署都用了 Nuxthub,我自己用起来觉得非常方便。(我发现掘金好像还没有nuxthub的文章 )

前几天Nuxthub也更新到了0.10版本。

如果你是 Nuxt 开发者,在开发面向海外的应用,想开发全栈应用(带数据库、文件上传等),但又不想折腾复杂的后端部署、Docker 或云服务配置,NuxtHub 就是为你准备的。

1. NuxtHub 是什么?

NuxtHub 是一个 Nuxt 模块@nuxthub/core),也是一个部署和管理平台。

它的核心理念是 "Zero Configuration"(零配置) 。它将数据库 (SQL)文件存储 (Blob)键值存储 (KV)服务端缓存 等后端能力,直接集成到了 Nuxt 的运行时中。

简单来说,它让你在写 Nuxt 代码时,可以直接 import 一个数据库对象并开始查询,而无需关心底层的连接、认证或服务器维护。它底层主要利用了 Cloudflare 的边缘计算能力(Workers, D1, R2, KV),让你的应用不仅全栈,而且运行在全球边缘节点上。

2. 有什么方便的?

NuxtHub 最大的卖点就是 开发者体验 (DX) 的极致简化:

  • 开箱即用 :不需要安装 MySQL/PostgreSQL 软件,不需要配置 S3 存储桶。在本地开发时,NuxtHub 会自动在本地模拟这些服务(使用 SQLite 等技术),数据保存在项目根目录的 .data 文件夹中。
  • 像写前端一样写后端:你不需要学习复杂的后端框架。通过简单的导入语法即可操作数据库。
  • 零配置部署 :使用 npx nuxthub deploy 命令,系统会自动识别你的配置,在 Cloudflare 上为你创建对应的数据库、存储桶和 KV 空间,并发布应用。
  • 可视化管理 :直接在 Nuxt DevTools(开发工具栏)里就能看到数据库里的表、查看上传的文件、管理缓存,非常直观。

3. 有什么好处?

  1. 全栈一体化: 前端和后端逻辑在同一个项目中,共享类型(TypeScript),维护成本极低。
  2. 高性能 (Edge Computing): 你的应用不是运行在某个单一地区的服务器上,而是运行在 Cloudflare 的全球边缘网络上,用户访问速度极快。
  3. 功能丰富
    • NuxtHub Database (SQL): 基于 SQLite (Cloudflare D1),支持 Drizzle ORM,自动处理数据库迁移。
    • NuxtHub Blob: 轻松上传和存储图片、视频 (Cloudflare R2)。
    • NuxtHub KV: 高速键值对存储,适合存配置、Session 等。
    • NuxtHub Cache: 强大的服务端/API 缓存能力。
  4. 无厂商锁定风险: 虽然它目前深度集成 Cloudflare,但它是作为一个开源模块设计的,未来有潜力适配更多平台。而且本地开发完全离线可用。

4. 怎么用?

第一步:创建项目(最快上手)

直接使用官方模板初始化:

bash 复制代码
# 初始化一个 NuxtHub 项目
npx nuxi init -t hub my-hub-app
cd my-hub-app
npm install
npm run dev

第二步:在现有项目中使用

安装核心模块:

bash 复制代码
npx nuxi module add @nuxthub/core

修改 nuxt.config.ts 开启你需要的功能:

typescript 复制代码
export default defineNuxtConfig({
  modules: ['@nuxthub/core'],
  hub: {
    db: true,    // 开启 SQL 数据库
    blob: true,  // 开启文件存储
    kv: true,    // 开启键值对存储
    cache: true, // 开启缓存
  }
})

第三步:写代码(示例)

1. 数据库操作 (server/api/todos.ts)

typescript 复制代码
import { db } from 'hub:db'

export default eventHandler(async () => {
  // 直接查询数据库,拥有完整的类型提示
  const todos = await db.query.todos.findMany()
  return todos
})

2. 键值对存储 (KV)

typescript 复制代码
import { kv } from 'hub:kv'

// 存储数据
await kv.set('user:1:settings', { theme: 'dark' })
// 获取数据
const settings = await kv.get('user:1:settings')

3. 文件上传 (Blob)

typescript 复制代码
import { blob } from 'hub:blob'

export default eventHandler(async (event) => {
  // 获取上传的文件
  const form = await readFormData(event)
  const file = form.get('image') as File
  
  // 保存到 Blob 存储
  return await blob.put(file.name, file, {
    addRandomSuffix: true
  })
})

第四步:部署上线

无需去 Cloudflare 后台手动点点点,只需运行:

bash 复制代码
npx nuxthub deploy

它会自动登录、构建、并在云端配置好所有需要的数据库和存储资源。


总结 :NuxtHub 是目前 Nuxt 生态中开发全栈应用最现代、最轻量的方式,特别适合个人开发者、独立开发者。

最近写了个开源项目也是用nuxthub开发的。

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

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

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

也可以加我微信交流:w314709923x

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

相关推荐
晚霞的不甘4 分钟前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
小迷糊的学习记录14 分钟前
0.1 + 0.2 不等于 0.3
前端·javascript·面试
梦帮科技1 小时前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
VT.馒头1 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多2 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
C澒2 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架
C澒2 小时前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
Charlie_lll2 小时前
学习Three.js–雪花
前端·three.js
onebyte8bits2 小时前
前端国际化(i18n)体系设计与工程化落地
前端·国际化·i18n·工程化
C澒2 小时前
前端分层架构实战:DDD 与 Clean Architecture 在大型业务系统中的落地路径与项目实践
前端·架构·系统架构·前端框架