Запускаю команду generate потом start
В папке dist появляется файл 404.html
Шаблон /layouts/error.vue не менял.
В nuxt.config.js в generate указал fallback: true и маршруты, target: 'static'.
Ввожу любую не существующую страницу например /sdfs , браузер почему то пытается ее открывать как будто она есть и загрузить js которых нет :

Страницы которые существуют открываются корректно.
nuxt 2.15.8
/layouts/error.vue
<template>
  <v-app>
    <h1 v-if="error.statusCode === 404">
      {{ pageNotFound }}
    </h1>
    <h1 v-else>
      {{ otherError }}
    </h1>
    <NuxtLink to="/"> Home page </NuxtLink>
  </v-app>
</template>
<script>
export default {
  name: "EmptyLayout",
  layout: "empty",
  props: {
    error: {
      type: Object,
      default: null,
    },
  },
  data() {
    return {
      pageNotFound: "404 Not Found",
      otherError: "An error occurred",
    };
  },
  head() {
    const title =
      this.error.statusCode === 404 ? this.pageNotFound : this.otherError;
    return {
      title,
    };
  },
};
</script>
<style scoped>
h1 {
  font-size: 20px;
}
</style>
  
nuxt.config.js[generate]
generate: {
    fallback: true,
    async routes() {
      const routes = await getRoutes()
      return routes.map(({ url }) => url)
    }
  }