Nuxt.js

Vue全栈框架,支持SSR/SSG/ISR,开箱即用。构建生产级Vue应用的最佳选择。

2016发布年份
NuxtLabs开发团队

核心特性

Nuxt.js 的设计哲学和关键技术特性

🚀 零配置启动

开箱即用的约定式配置,无需复杂配置即可开始开发

⚡️ 混合渲染

支持SSR、SSG、ISR、客户端渲染,按路由灵活配置

📁 自动路由

基于文件系统的路由,pages目录自动生成路由

🔧 自动导入

组合式API、组件、工具函数自动导入,无需手动import

📦 服务端API

内置Nitro服务器引擎,轻松创建API端点

🎨 模块生态

丰富的官方和社区模块,快速集成各种功能

生态系统

Nuxt.js 核心模块和官方工具

Nuxt UI

基于Tailwind CSS的UI组件库

UI 组件库

Nuxt Content

基于文件的CMS,支持Markdown、YAML、CSV

CMS 内容管理

Nuxt Image

图片优化组件,自动优化和懒加载

性能 图片优化

Nuxt Auth

认证模块,支持多种认证策略

认证 安全

快速入门

# 创建新项目
npx nuxi@latest init my-app

# 进入项目目录
cd my-app

# 安装依赖
npm install

# 启动开发服务器
npm run dev

# 构建生产版本
npm run build

# 预览生产版本
npm run preview

配置示例

// nuxt.config.ts
export default defineNuxtConfig({
  // 应用配置
  app: {
    head: {
      title: 'My Nuxt App',
      meta: [
        { charset: 'utf-8' },
        { name: 'viewport', content: 'width=device-width, initial-scale=1' }
      ]
    }
  },

  // 模块
  modules: [
    '@nuxt/ui',
    '@nuxt/content',
    '@pinia/nuxt'
  ],

  // 路由规则(混合渲染)
  routeRules: {
    '/': { prerender: true },
    '/api/**': { cors: true },
    '/admin/**': { ssr: false }
  },

  // TypeScript配置
  typescript: {
    strict: true
  },

  // 开发工具
  devtools: { enabled: true }
})

学习资源

与其他框架对比

vs Next.js

Nuxt专注于Vue生态,Next.js专注于React。Nuxt的自动导入和约定式配置更简洁。

vs Vue CLI

Vue CLI是纯客户端SPA工具,Nuxt提供SSR、SSG等现代渲染方案。