Для изменения маршрутизации в Nuxt.js можно использовать файл nuxt.config.js
. Этот файл находится в корневой директории проекта и позволяет настроить различные параметры Nuxt.js, включая маршрутизацию.
Для начала, вам нужно добавить опцию router
в объект module.exports
, чтобы настроить маршрутизацию. Внутри объекта router
можно определить различные параметры маршрутизации, такие как base
, middleware
, extendRoutes
и т.д.
Пример простого nuxt.config.js
, устанавливающего новый base
маршрут:
module.exports = { router: { base: '/my-website/' } }
В этом примере сайт будет доступен по URL http://localhost:3000/my-website/
. Здесь base
определяет базовый маршрут сайта.
Если вы хотите определить собственные маршруты, вам нужно использовать параметр extendRoutes
. С помощью extendRoutes
можно добавлять новые маршруты или изменять существующие.
Например, создадим новый маршрут с именем '/about' и соответствующим компонентом:
module.exports = { router: { extendRoutes(routes, resolve) { routes.push({ name: 'about', path: '/about', component: resolve(__dirname, 'pages/about.vue') }) } } }
В этом случае, при переходе по пути /about
будет отображаться компонент pages/about.vue
.
Вы также можете использовать middleware для выполнения функций перед каждым переходом или группой маршрутов. С middleware вы можете обрабатывать аутентификацию, авторизацию или любые другие операции, которые должны быть выполнены перед отображением маршрута.
Для добавления middleware в nuxt.config.js
используйте параметр router
:
module.exports = { router: { middleware: 'my-middleware' } }
Здесь 'my-middleware'
- это название вашего middleware, который должен быть определен в директории middleware
вашего проекта.
Вот пример маршрутизации Nuxt.js, позволяющий настроить базовый маршрут, добавлять пользовательские маршруты и использовать middleware. Однако возможности маршрутизации в Nuxt.js гораздо шире, и вы можете использовать дополнительные функции и параметры в зависимости от ваших потребностей. Я рекомендую ознакомиться с документацией Nuxt.js для получения дополнительной информации и примеров кода.