#vue.js #nuxt.js #nuxt-i18n
#vue.js #nuxt.js #nuxt-i18n
Вопрос:
В настоящее время я работаю над интернализацией веб-сайта с использованием Vue.js и фреймворков Nuxt. Я перехожу с URL страницы, являющейся website.com/my-page
на website.com/<lang>/my-page
.
Для этого, следуя документации, я переместил все свои страницы в _lang
папку, предоставив мне следующую архитектуру:
pages/
│
└───_lang
│ │
| |__ my-page.vue
|
...
Это работает точно так, как задумано, за исключением того факта, что <lang>
slug теперь является обязательным, что делает доступ к website.com/my-page
возврату 404.
Я хотел бы, чтобы этот URL отображал страницу на языке по умолчанию, объявленном в моем приложении.
Единственный способ, который я нашел для достижения этой цели, — создать другой, my-page.vue
в корне pages/
, содержащий следующее:
<script>
import Mypage from '~/pages/_lang/my-page'
export default Mypage
</script>
Однако это означает создание такого рода псевдонимов для каждой страницы моего веб-сайта, что дает мне:
pages/
│
│─── my-page.vue
│
└───_lang/
│ │
| |__ my-page.vue
|
...
Есть ли какой-либо способ автоматизировать это, поскольку это очень утомительный процесс?
Спасибо,
Примечание: Я безуспешно исследовал extendRoutes.
Комментарии:
1. Действительно интересно, что вы в итоге сделали. Хотите поделиться? Я сталкиваюсь с точно такими же проблемами, когда хочу сопоставить определенный параметр с моей домашней страницей.
2. В итоге я сделал то, что было предложено @Aldarund, это работает нормально
Ответ №1:
Вы могли бы использовать модуль router-extras-module.
<router>
alias:
- /my-page
</router>
Комментарии:
1. Большое спасибо за ваш ответ! В настоящее время я устраняю проблемы, когда обновление основной версии Nuxt привело к сбою всего моего Stylus css
Error: Expected a pseudo-class or pseudo-element.
. Я попробую это, как только все будет работать нормально, и отчитаюсь.2. Я совершенно забыл сообщить об этом, извините. Это сработало отлично!
3. Если API отвечает на pageUrl как часть JSON, как мы можем использовать это для создания пути к странице с данными этого API??