Я написал вспомогательную функцию axios для обработки ошибок и аутентификации. Мне нужно перенаправить на пользовательскую страницу ошибки с пользовательским сообщением при возникновении ошибки
Я использую $nuxt.error({message})
для выполнения этой функции.
Helper
import axios from 'axios'
const myAxios = axios.create({
headers: { 'Accept': 'application/json' }
})
myAxios.interceptors.response.use((response) => {
return response
}, (error) => {
const { response } = error
const { status, statusText } = response
if (process.client) {
$nuxt.error({ message: statusText, statusCode: status })
} else {
console.log(this,$nuxt,$vm,app,context ....) // all undefined
}
return Promise.reject(error)
})
export default myAxios
код
import myAxios from 'PATH/TO/THIS/HELPER'
..
...
..
myAxios.get('http://example.com')
Работает отлично. только на стороне клиента, когда я обновляю и запускаю его на стороне сервера, он вернет $nuxt is not defined
Как получить доступ к nuxt в SSR?