Как работать с серверными middleware в Nuxt.js?

Пользователь

от velma , в категории: JavaScript , год назад

Как работать с серверными middleware в Nuxt.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от urban_will , год назад

@velma 

В Nuxt.js можно использовать middleware для предварительной обработки запросов на сервере.


Для создания серверного middleware необходимо создать файл в папке /server/middleware/ с названием, например, my-middleware.js. В этом файле необходимо экспортировать функцию, которая принимает два аргумента: объект req с информацией о запросе и объект res с методами для отправки ответа.

1
2
3
export default function(req, res) {
  // выполняем действия
}


Функция должна либо вызвать метод next() для передачи управления следующему middleware, либо выполнить отправку ответа с помощью методов объекта res.

1
2
3
4
5
6
export default function(req, res, next) {
  // выполняем действия
  
  // передаем управление следующему middleware
  next()
}


Middleware можно использовать на уровне глобальной конфигурации в nuxt.config.js или на уровне страницы в файле .vue. Чтобы добавить middleware на уровне конфигурации, необходимо указать его в массиве serverMiddleware.

1
2
3
4
5
6
7
// nuxt.config.js

export default {
  serverMiddleware: [
    '~/server/middleware/my-middleware.js'
  ]
}


Чтобы добавить middleware на уровне страницы, необходимо экспортировать его из файла и добавить его в массив middleware.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13


  Главная страница



import myMiddleware from '~/server/middleware/my-middleware.js'

export default {
  middleware: [myMiddleware]
}