You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue/Nuxt项目如何配置让自定义404页面在访问不存在URL时生效

Vue/Nuxt 项目自定义404页面配置方案

以下方案区分不同技术栈版本,按需选择即可:


纯Vue项目配置

Vue3 + Vue Router 4

在路由配置数组的末尾添加通配符兜底路由,指向你已开发完成的404页面组件:

import { createRouter, createWebHistory } from 'vue-router'
import NotFound from './views/NotFound.vue'

const routes = [
  // 所有已声明的业务路由放最前面
  {
    path: '/:pathMatch(.*)*',
    name: 'NotFound',
    component: NotFound
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes,
})

Vue2 + Vue Router 3

通配符路由写法略有差异:

import VueRouter from 'vue-router'
import NotFound from './views/NotFound.vue'

const router = new VueRouter({
  routes: [
    // 所有已声明的业务路由放最前面
    {
      path: '*',
      component: NotFound
    }
  ]
})

Nuxt项目配置

Nuxt 3

两种配置方式二选一即可:

  • 页面路由模式(开启pages/目录):直接在pages/根目录下新建[...slug].vue文件,将404页面代码写入该文件,Nuxt3会自动将所有未匹配到的路由导向该兜底页面。
  • App路由模式(使用app/目录):在app/根目录下新建error.vue文件,作为全局错误兜底页面,可通过useError()方法区分错误类型:
<script setup>
const error = useError()
// 可根据状态码做差异化展示
if (error.value.statusCode === 404) {
  // 404场景专属逻辑
}
</script>

静态部署补充配置:执行nuxt generate打包静态站点时,需要在nuxt.config.ts中添加如下配置,确保托管服务能正确识别404页面:

export default defineNuxtConfig({
  generate: {
    fallback: '404.html'
  }
})

Nuxt 2

直接在pages/根目录下新建_.vue文件,写入404页面代码即可,Nuxt2会自动识别为路由兜底页面。
静态部署补充配置:在nuxt.config.js中添加如下配置:

export default {
  generate: {
    fallback: true
  }
}

内容的提问来源于stack exchange,提问作者XingGuang Zhen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:27:04