通过 100 多个技巧学习 Nuxt!

概述

减少与 Nuxt 3 的差异,降低迁移到 Nuxt 3 的负担。
如果您正在启动一个全新的 Nuxt 3 项目,请跳过本节并转到 Nuxt 3 安装
Nuxt Bridge 提供了与 Nuxt 3 相同的功能(文档),但有一些限制,特别是 useAsyncDatauseFetch 组合式函数不可用。请阅读本页的其余部分了解详细信息。

Bridge 是一个向前兼容层,允许您通过简单地安装并启用 Nuxt 模块来体验许多新的 Nuxt 3 功能。

使用 Nuxt Bridge,您可以确保您的项目(几乎)为 Nuxt 3 做好准备,并且您可以逐步进行向 Nuxt 3 的过渡。

第一步

升级 Nuxt 2

确保您的开发服务器 ( nuxt dev ) 没有运行,删除任何包锁定文件 ( package-lock.jsonyarn.lock ),并安装最新的 Nuxt 2 版本

package.json
- "nuxt": "^2.16.3"
+ "nuxt": "^2.17.3"

然后,重新安装您的依赖项

npm install
安装完成后,请确保开发和生产构建都按预期工作,然后再继续。

安装 Nuxt Bridge

安装 @nuxt/bridgenuxi 作为开发依赖项

npm install -D @nuxt/bridge nuxi

更新 nuxt.config

请确保避免在您的配置文件中使用任何 CommonJS 语法,例如 module.exportsrequirerequire.resolve 。它很快将被弃用且不支持。

您可以使用静态 import、动态 import()export default 来代替。使用 TypeScript 通过重命名为 nuxt.config.ts 也是可能的,并且推荐使用。

nuxt.config.ts
import { defineNuxtConfig } from '@nuxt/bridge'

export default defineNuxtConfig({
  bridge: false
})

更新命令

nuxt 命令现在应更改为 nuxt2 命令。

{
  "scripts": {
-   "dev": "nuxt",
+   "dev": "nuxt2",
-   "build": "nuxt build",
+   "build": "nuxt2 build",
-   "start": "nuxt start",
+   "start": "nuxt2 start"
  }
}

尝试在此处运行一次 nuxt2。您将看到应用程序像以前一样工作。

(如果 'bridge' 设置为 false,您的应用程序将像以前一样运行,没有任何更改。)

升级步骤

使用 Nuxt Bridge,迁移到 Nuxt 3 可以分步骤进行。以下 升级步骤 不需要一次性完成。

从 CommonJS 迁移到 ESM

Nuxt 3 原生支持 TypeScript 和 ECMAScript 模块。请查看 原生 ES 模块 以获取更多信息和升级。