为了账号安全,请及时绑定邮箱和手机立即绑定

写axios拦截器时获取vuex sotre对象时遇到的问题

写axios拦截器时获取vuex sotre对象时遇到的问题

婷婷同学_ 2019-03-15 14:15:00
axios拦截器获取vuex sotre对象时用import为undefined 可以用require获取,这是为什么?这样写获取不到但是在main.js中是用这种方法获取的,可以获取到import axios from 'axios'import store from '@/store'console.log(store)// undefined 下面这样写能获取到import axios from 'axios'const store = require('@/store')console.log(store) //可以获取有什么地方出问题了吗?这是store下的indeximport Vue from 'vue'import Vuex from 'vuex'import login from './modules/login'import getArticleList from './modules/getArticleList'// import createLogger from 'vuex/dist/logger'Vue.use(Vuex)const debug = process.env.NODE_ENV !== 'production'export default new Vuex.Store({  modules: {    login,    getArticleList  },  strict: debug  // plugins: debug ? [createLogger()] : []})
查看完整描述

5 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

首先谢谢大家的回答,已经解决

在main.js中引入封装好拦截器的axios时,axios需要放在store之前,不然在axios拦截器中无法获取store对象


import axios from './axios'

import store from '@/store'


查看完整回答
1 反对 回复 2019-03-20
?
三国纷争

TA贡献1804条经验 获得超7个赞

亲亲,我现在也遇到了这个问题,不管怎么弄都是undefined

我是在request.js里封装的axios,


import axios from 'axios'

import store from '@/store'

console.log(store) //undefined

store文件夹下的index.js


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

store/modules/user中这样调取了下接口:


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

然后把这段话去掉,store就不会报undefined了,不知道为什么,想了一天都没解决,求助啊


查看完整回答
1 反对 回复 2019-03-20
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

你的store是不是没有默认导出


查看完整回答
反对 回复 2019-03-20
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

store文件夹下的index文件内容是什么样子的


查看完整回答
反对 回复 2019-03-20
?
浮云间

TA贡献1829条经验 获得超4个赞

你的store是不是没有默认导出,估计是这个问题!!!


查看完整回答
反对 回复 2019-03-20
  • 5 回答
  • 0 关注
  • 1792 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信