import { Plugin } from '@nuxt/types' const plugin: Plugin = ({ $axios, error }) => { $axios.defaults.baseURL = typeof location !== 'undefined' ? location.origin : `http://localhost:${process.env.SERVER_PORT}` $axios.interceptors.response.use( (r) => { if (r.data?.error) { error({ statusCode: r.status, message: r.data.error, }) throw new Error(r.data.error) } return r }, (err) => { if (process.static) { return {} } error({ statusCode: err.response.status, message: err.toJSON(), }) return Promise.reject(err) } ) } export default plugin