跳到正文

Nuxt

中级网页

Nuxt 是基于 Vue 的 Web 应用框架,把页面路由、数据获取、渲染和构建组织在一起。你可以用它开发官网或产品网站,按页面选择服务端渲染、静态生成或浏览器渲染,减少自己拼装基础设施的工作。

你可能会说:「帮我用 Vue 做个产品网站,页面打开就有正文,也能登录后交互。」

读之前建议先了解

动手看看

获取文档文档数据构建阶段生成帮助页网站服务器数据接口浏览器尚未访问
1

这个产品网站用 Nuxt 管理页面路由。帮助页选静态生成:构建时就获取帮助文档,生成带正文的页面。

要点

  1. 1

    用文件组织页面路由

    你按约定创建页面文件,Nuxt 就能据此生成路由;多个页面还可以共享布局。做产品官网时,导航和页脚可以集中维护,而不是每个页面各复制一份。

  2. 2

    按内容选择渲染方式

    公开文章可以预先生成,实时商品信息可以在服务端渲染,登录后的工作台也可以主要在浏览器运行。因为内容更新频率和访问方式不同,所以同一个网站不必只用一种渲染方式。

  3. 3

    页面与服务端一起协作

    Nuxt 提供数据获取工具,也能编写服务端接口。比如你做 AI 聊天产品,可以让页面请求自己的接口,再由服务端调用模型,这样密钥就不用交给浏览器。

容易混淆的地方

Vue 主要负责用组件构建界面,Nuxt 在 Vue 之上组织路由、渲染和服务端能力;所以它不是另一套替代 Vue 的组件语法。Next.js 则基于 React,解决的问题相近,但组件写法和生态不同,现有 Vue 组件不能直接当成 React 组件使用。

什么时候用

适合用

  • 用 Vue 做内容网站,文章和产品介绍需要输出可被搜索引擎读取的正文。
  • 做既有公开介绍页、又有登录工作台的产品,希望在同一项目里管理它们。
  • 做 AI 网页工具,需要页面交互,也需要服务端接口保护模型调用密钥。

不适合用

  • 只做一页文字和联系方式,没有复杂交互,用静态 HTML 和 CSS 就够了。
  • 开发手机原生应用,需要原生界面和设备能力,优先考虑 Flutter 或原生开发。
  • 已有稳定的 React 网站,只想增加一个页面,沿用现有框架比引入 Nuxt 更合适。

练一练

你要用 Vue 做一个课程网站:课程介绍公开可搜索,内容每周更新;学习进度只在登录后显示。怎样使用 Nuxt 更符合这些需求?

让 AI 帮你做

用 Nuxt 和 Vue 开发课程网站:公开课程介绍页预渲染,登录后的学习进度从服务端接口获取并校验身份。请说明页面路由、共享布局、数据获取和部署方案,区分静态内容与用户私有数据。

接下来学什么