使用Nuxt3框架,在当前页面刷新时,会报500错误,Cannot read properties of undefined (reading 'body')

1,092 阅读1分钟

前言

项目使用Nuxt3框架,在当前页面 http://localhost:3000/page1 刷新时,会报500错误,Cannot read properties of undefined (reading 'body')

报错意思

在尝试访问一个尚未初始化或不存在的 DOM 元素

原因

组件挂载未完成就执行DOM操作,需要避免在 SSR环境中执行DOM 操作

解决方案

  1. 如果项目不需要SSR,可以在nuxt.config.ts配置文件中关闭SSRexport default defineNuxtConfig({ ssr : false })
  1. 如果页面使用第三方组件,该组件会在挂载完成前操作DOM,可以使用ClientOnly标签包裹有操作DOM的组件,代表只在客户端渲染该组件;
  2. 如果是普通情况:调用函数时有执行DOM操作,可以将函数放在mounted生命周期钩子里或者利用nextTick方法确保 DOM 更新完成后再执行操作;