鍍金池/ 問答/HTML/ 如何在axios二次封裝文件中訪問到vue新的實例,為什么為訪問到的vuex的實

如何在axios二次封裝文件中訪問到vue新的實例,為什么為訪問到的vuex的實例是undefined

vuex:

const store = new Vuex.Store({
  state,
  getters,
  actions,
  mutations,
  plugins: [createLogger()]
});

export default store;

axios:二次封裝

import axios from 'axios';
import ip, {token} from './ip';
import store from '@/store';
console.log(store); // 訪問到的store是undefined

import Store from '@/utils/store';


// 禁止帶cookie請求
axios.defaults.withCredentials = false;
// 添加請求攔截器
axios
  .interceptors
  .request
  .use(config => {
    config.headers.common['Authorization'] = Store.get('token');
    return config;
  }, error => {
    return Promise.reject(error);
  });

export default axios;
回答
編輯回答
清夢
  1. 沒引入到應該放出 目錄文件夾;
  2. store 在 src/store/index.js ?
2017年8月20日 23:30
編輯回答
念初

const store = require('../store/index');
console.log(store); //Store {_committing: false, _actions: {…...

但是使用require的方法可以導入

2018年1月28日 03:25
編輯回答
傲寒

解決了嗎,我也遇到了這個問題,
我的store/index:

import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import user from './modules/user'
import getters from './getters'

Vue.use(Vuex)

const store = new Vuex.Store({
  modules: {
    app,
    user
  },
  getters
})

export default store

注意上邊有個 import user from './modules/user'
而modules/user.js是這么寫的:

import { login, logout, getInfo } from '@/api/login'

這里就引用了下接口,把這句話去掉然后就好了,很莫名奇妙,但是這樣肯定不符合邏輯
你解決了嗎

2017年11月23日 14:56
編輯回答
扯不斷
    import Vue from 'vue'
    import Vuex from 'vuex'
    
    const state={ ...}
    ...
    
    Vue.use(Vuex)
    
    const store = new Vuex.Store({
      state,
      getters,
      actions,
      mutations
    })
    
    export default store
import store from '@/store'
xxx = store.getters.token
2018年2月22日 22:36