Nuxt 是一个免费且开源的框架,提供了一种直观且可扩展的方式,使用 Vue.js 创建类型安全、高性能、生产级的全栈 web 应用和网站。
我们让你从一开始就能编写 .vue 文件,同时在开发中享受热模块替换,并在生产环境中通过默认的服务器端渲染获得高性能应用。
Nuxt 不绑定任何供应商,允许你将应用部署到任何地方,甚至边缘节点。
Nuxt 使用约定和有主见的目录结构来自动化重复任务,让开发者专注于功能开发。配置文件仍可自定义和覆盖其默认行为。
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 模块(多态填充除外),可部署到任何支持 JavaScript 的环境,包括 Node.js、Serverless、Workers、边缘渲染或纯静态环境。
Nuxt 应用可部署到 Node 或 Deno 服务器,预渲染后托管于静态环境,或部署至 Serverless 与边缘服务提供商。
模块系统允许通过自定义功能和第三方服务集成扩展 Nuxt。
Nuxt 由不同的核心包组成:
我们建议阅读各个概念以全面了解 Nuxt 的能力及每个包的职责范围。