Изменить страницу 404 в vuepress

Можно ли изменить / настроить страницу 404 Vuepress без извлечения и необходимости менять всю тему?

Я в настоящее время использую enhanceApp.js, но я не уверен, как я могу изменить параметры маршрутизатора (универсальный маршрут), поскольку маршрутизатор уже создан. Способ, которым я получил это прямо сейчас, таков:

router.beforeEach((to, from, next) => {
  if (to.matched.length > 0 && to.matched[0].path === "*") {
    next("/404.html");
  } else {
    next();
  }
});

Однако, это похоже на хак, так как я всегда перенаправляю на пользовательскую и существующую страницу, содержащую мой 404. Есть ли более официальный способ сделать это?

0 ответов

У меня есть сайт, основанный на Vuepress 1.5.x, и я смог просто создать страницу с именем NotFound.vue в разделе theme/layout. Никаких изменений в hanceApp.js не требуется.

Сам Vuepress, похоже, уже знает об этом зарезервированном имени макета, основываясь на приведенном здесь коде.

Ранее у меня была эта страница с именем 404.vue, но я получал предупреждение о том, что страницы должны соответствовать надлежащим стандартам именования компонентов HTML 5. Просто переименование его в NotFound.vue помогло.

Содержимое моего файла NotFound.vue:

<template>
  <BaseLayout>
    <template #content>
      <v-container class="text-center">
        <div class="py-6" />
        <h1>Oops!</h1>
        <p>Nothing to see here.</p>
        <v-btn class="cyan--text text--darken-3"
          exact :to="'/'" text>Go home</v-btn>
      </v-container>
    </template>
  </BaseLayout>
</template>

<script>
export default {
  name: "NotFound"
};
</script>
Другие вопросы по тегам