问题描述:在封装axios的request.js文件中 设置国际化 访问到正常情况下的 this.$t('xxx.xxx'),但是在实际中 request.js 访问不到vue的vm实例(也就是this指向为undefined)

解决方案: 1、在 main.js 中 将 Vue 实例导出

    const vueThis = new Vue({
      el: '#app',
      router,
      store,
      i18n,
      render: h => h(App)
    })
    export default vueThis

2、再到 request.js 中 引入导出的 vue

import Vue from '@/main'
// 注: 注意不要导入后直接console.log(Vue), 因为这个时候组件还没创建打印结果肯定是undefined。
console.log('vue', Vue) //  vue undefined 
...
service.interceptors.response.use(
  response=>{
    // 3、 可以直接使用 Vue.xxx 访问到挂载到vue实例上的内容
    console.log('vue', Vue.$t('xxx.xxx')) // 即可获取到所定义的国际化翻译
  },
  error=>{
    console.log('vue', Vue.$t('xxx.xxx')) // 即可获取到所定义的国际化翻译
  }
)