스토어가 정의되어 있지 않습니다.vue.syslog
로그인 페이지를 작성했습니다.라우터가 요구를 대행 수신하여 사용자가 인증되었는지 확인합니다.스토어는 사용자의 로그인 여부를 유지하고 있습니다.
디버깅 중에 auth.debug에 들어갑니다.
"스토어가 정의되지 않았습니다."
Import에서도 @가 아닌 relative path를 시도했습니다.
라우터 코드 스니펫
import auth from '@/services/auth';
...
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
if (!auth.loggedIn()) {
next({
path: '/login',
});
} else {
next();
}
} else {
next();
}
});
auth.module은 store 및 maintenate와 상호 작용하는 서비스와 같습니다.
import Vue from 'vue';
import axios from 'axios';
import VueAxios from 'vue-axios';
import store from '@/store/UserStore';
Vue.use(VueAxios, axios);
export default {
login(credentials) {
return new Promise((resolve, reject) => {
Vue.axios.post('/api/authenticate', credentials).then((response) => {
localStorage.setItem('token', response.body.token);
store.commit('LOGIN_USER');
resolve();
}).catch((error) => {
store.commit('LOGOUT_USER');
reject(error);
});
});
},
isUserLoggedIn() {
return store.isUserLoggedIn();
},
};
여기 내 가게가 있다
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export default new Vuex.Store({
strict: process.env.NODE_ENV !== 'production',
state: {
isLogged: !localStorage.getItem('token'),
user: {},
},
actions: {
},
mutations: {
/* eslint-disable no-param-reassign */
LOGIN_USER(state) {
state.isLogged = true;
},
/* eslint-disable no-param-reassign */
LOGOUT_USER(state) {
state.isLogged = false;
},
},
getters: {
isUserLoggedIn: state => state.isLogged,
},
modules: {
},
});
UserStore에서 내보내기 유형을 다음과 같이 변경합니다.
선
export default new Vuex.Store({
로 대체하다.
export const store = new Vuex.Store({
언급URL : https://stackoverflow.com/questions/47472401/store-is-not-defined-vue-js
'programing' 카테고리의 다른 글
printf 및 long double (0) | 2022.08.16 |
---|---|
C/C++: 강제 비트 필드 순서 및 정렬 (0) | 2022.08.16 |
"int *nums = {5, 2, 1, 4}"이(가) 분할 장애를 일으킵니다. (0) | 2022.08.16 |
v-show 및 v-if가 어레이가 아닌 개체의 부울 변경에 즉시 응답하는 이유는 무엇입니까? (0) | 2022.08.16 |
구조 내에서 구성원을 초기화할 수 없는 이유는 무엇입니까? (0) | 2022.08.16 |