概述
减少与 Nuxt 3 的差异,并减轻迁移到 Nuxt 3 的负担。
如果您要启动一个全新的 Nuxt 3 项目,请跳过此部分,转到 Nuxt 3 安装。
Nuxt Bridge 提供与 Nuxt 3 相同的功能(文档),但有一些限制,特别是在
useAsyncData
和 useFetch
组合式 API 不可用。请阅读本页面的其余内容以获取详细信息。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
安装完成后,请确保开发和生产构建都能按预期工作,然后再继续。
安装 Nuxt Bridge
安装 @nuxt/bridge
和 nuxi
作为开发依赖项
npm install -D @nuxt/bridge 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 的迁移。下面的 升级步骤
不需要一次性完成。
从 CommonJS 迁移到 ESM
Nuxt 3 原生支持 TypeScript 和 ECMAScript 模块。有关更多信息和升级,请查看 原生 ES 模块。