Creé una página de error como en la documentación y funciona.
https://nuxtjs.org/docs/2.x/concepts/views#error-page
En resumen, creo un archivo error.vue en el directorio /layouts y, opcionalmente, le paso un layout personalizado.
<template> <div> <h1 v-if="error.statusCode === 404">Page not found</h1> <h1 v-else>An error occurred</h1> <NuxtLink to="/">Home page</NuxtLink> </div> </template> <script> export default { props: ['error'], layout: 'error' // custom layout } </script> Pero mi tarea de producto requiere que la página 404 vaya al directorio /dist después del comando generate .
Como esto
dist/ --| 200.html --| 404.html //do not exist for meLas siguientes soluciones no ayudaron:
404 al directorio /pages , entonces Nuxt aún mostrará su página de error predeterminada .¿Hay una manera lacónica de hacer esto? ¡Gracias por adelantado!
Logré resolver mi problema agregando este código a nuxt.config.js .
router: { extendRoutes(routes, resolve) { routes.push({ name: 'custom', path: '*', component: resolve('@/pages/404.vue') }) } }, Ahora 404.vue está en el directorio /pages y la página 404.html está en el directorio /dist .
Documentación: https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-router#extendroutes