概述
缩小与 Nuxt 3 的差异,并减轻迁移到 Nuxt 3 的负担。
如果你正在启动一个全新的 Nuxt 3 项目,请跳过本节,前往 Nuxt 3 安装。
::
Nuxt Bridge 提供了与 Nuxt 3 相同的功能(文档),但有一些限制,最显著的是 然后,重新安装你的依赖:
useAsyncData 和 useFetch 组合式函数不可用。请阅读本页其余部分了解详情。
::Bridge 是一个向前兼容层,让你只需安装并启用一个 Nuxt 模块,即可体验许多新的 Nuxt 3 功能。使用 Nuxt Bridge,你可以确保你的项目(几乎)为 Nuxt 3 做好准备,并且可以逐步进行向 Nuxt 3 的过渡。第一步
升级 Nuxt 2
确保开发服务器(nuxt dev)没有在运行,删除任何包锁文件(package-lock.json 和 yarn.lock),并安装最新的 Nuxt 2 版本:package.json
- "nuxt": "^2.16.3"
+ "nuxt": "^2.17.3"
npm install
yarn install
pnpm install
bun install
deno install
安装完成后,在继续之前,请确保开发构建和生产构建都按预期工作。
::更新
请确保在配置文件中避免使用任何 CommonJS 语法,例如 尝试在这里运行一次
安装 Nuxt Bridge
安装@nuxt/bridge 和 nuxi 作为开发依赖:npm install -D @nuxt/bridge nuxi
yarn add --dev @nuxt/bridge nuxi
pnpm add -D @nuxt/bridge nuxi
bun add -D @nuxt/bridge nuxi
deno add -D npm:@nuxt/bridge npm:nuxi
更新 nuxt.config
请确保在配置文件中避免使用任何 CommonJS 语法,例如 module.exports、require 或 require.resolve。它们很快将被弃用且不再受支持。你可以改用静态 import、动态 import() 和 export default。重命名为 nuxt.config.ts 来使用 TypeScript 也是可行的,并且推荐这样做。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 的迁移可以分步进行。 下面的升级步骤 不需要一次性完成。