Я объявил действие в модуле Vuex:
storeBudgets(store: ActionContext<State, any>) {
return axiosAuth.get('/budget')
.then((res) => {
store.commit('setBudgets', res.data.budgets);
});
}
Где axiosAuth - это пользовательский экземпляр axios:
import axios from 'axios';
import store from './store/index';
const axiosAuth = axios.create({
baseURL: 'http://localhost:3000',
});
axiosAuth.interceptors.request.use((config) => {
config.headers['x-access-token'] = store.getters.getUserToken;
return config;
});
export default axiosAuth;
Я использую этот экземпляр axios в других модулях хранилища vuex без каких-либо проблем, но для этого конкретного действия в этом конкретном модуле я получаю следующую ошибку:
TypeError: rawModule is undefined
Ошибка исчезает, как только я комментирую ссылку на axiosAuth.
Я думаю, что проблема связана с тем, что я ссылаюсь на хранилище в перехватчике axios, так как комментирование строки config.headers
делает загрузку приложения без каких-либо проблем.
Я перенес эту логику из проекта JavaScript в кодовую базу TypeScript, и у меня не было проблем с предыдущей реализацией.
- Это как-то связано с переносом TypeScript?
- Какие альтернативы я мог бы использовать вместо перехватчика для установки токена JWT в заголовке моих HTTP-запросов?