Изначально было так:
axios: {
baseURL: process.env.NODE_ENV === 'production'
? 'https://site-name.ru'
: 'http://localhost:3000'
},
Радости моей не было предела, пока случайно не зашел на
www.site-name.ru и обнаружил, что запросы идут на домен без www и блокируются CORS политикой => домен с www становится неработоспособным.
Дальше пробовал:
axios: {
baseURL: '/'
},
Но и тут момент - код из nuxtServerInit перестает корректно работать.
nuxtServerInit:
async nuxtServerInit({ dispatch, getters, commit }) {
const isUserSigned = await dispatch('auth/autoSignin');
if (isUserSigned) await dispatch('auth/getUserByToken');
}
store/auth:
async getUserByToken({commit, dispatch}) {
try {
const user = await this.$axios.$get('/api/auth/getUserByToken');
if (user && user.id) {
dispatch('setUser', user);
} else {
dispatch('signout', false);
}
} catch (e) {
console.log(e.message);
dispatch('setUser', null);
dispatch('signout', false);
}
},
То есть, приходит ответ с сервера 404, потому что запрос отправляется на http:/api/auth/getUserByToken' (буквально).
С остальными запросами все в порядке, во всяком случае пока что проблема актуальна только для nuxtServerInit.
Что посоветуете?