Nuxt 是一个免费且开源的框架,提供直观且可扩展的方式来使用 Vue.js 创建类型安全、高性能且可用于生产环境的全栈 Web 应用和网站。
我们做了大量工作,让你可以从一开始就编写 .vue 文件,同时在开发中享受热模块替换(HMR),在生产中默认使用服务端渲染以获得高性能的应用。
Nuxt 没有供应商锁定,允许你将应用部署到任何地方,甚至边缘。
Nuxt 使用约定和有意见的目录结构来自动化重复性任务,让开发者专注于实现功能。配置文件仍可用于自定义和覆盖默认行为。
app/pages/ 目录 的结构定义路由。这可以更容易地组织应用并避免手动配置路由。tsconfig.json,无需深入学习 TypeScript 也能编写类型安全的代码。Nuxt 会处理这些内容,并同时提供前端和后端功能,让你可以专注于最重要的事情:创建你的 Web 应用。
Nuxt 默认自带服务端渲染(SSR)能力,无需你自己配置服务器,这为 Web 应用带来了许多好处:
总体而言,服务端渲染可以提供更快速、更高效的用户体验,并提升搜索引擎优化和可访问性。
由于 Nuxt 是一个多用途的框架,它允许你使用 nuxt generate 将整个应用静态渲染以部署到静态托管环境,使用 ssr: false 全局禁用 SSR,或通过设置 routeRules 选项来利用混合渲染。
Nuxt 的服务端引擎 Nitro 解锁了新的全栈功能。
在开发时,它为你的服务器代码和上下文隔离使用 Rollup 和 Node.js worker。它还会通过读取 server/api/ 中的文件来生成服务器 API,通过 server/middleware/ 生成服务器中间件。
在生产中,Nitro 会将你的应用和服务器构建到一个通用的 .output 目录中。该输出轻量化:进行了压缩并移除了任何 Node.js 模块(polyfill 除外)。你可以将此输出部署到任何支持 JavaScript 的系统,从 Node.js、Serverless、Workers、边缘渲染到纯静态平台。
Nuxt 应用可以部署到 Node 或 Deno 服务器,预渲染以托管在静态环境,或部署到 Serverless 与边缘提供商。
模块系统允许你使用自定义功能和与第三方服务的集成来扩展 Nuxt。
Nuxt 由不同的核心包 组成:
我们建议阅读每个概念以全面了解 Nuxt 的能力以及各个包的范围。