代码之家  ›  专栏  ›  技术社区  ›  qarthandso

Axios在Vuex存储区中未正确设置-Vue.js版&电子

  •  1
  • qarthandso  · 技术社区  · 5 年前

    我在用 electron-vue 创建一个简单的桌面应用程序。

    一开始我使用了所有的标准配置(包括添加axios),但是现在我遇到了一个问题

    我的文件结构是这样的: enter image description here


    src/renderer/main ):

    import Vue from 'vue'
    import axios from  './axios'
    
    import App from './App'
    import router from './router'
    import store from './store'
    
    if (!process.env.IS_WEB) Vue.use(require('vue-electron'))
    Vue.axios = Vue.prototype.$axios = axios
    Vue.config.productionTip = false
    
    /* eslint-disable no-new */
    new Vue({
      components: { App },
      router,
      store,
      template: '<App/>'
    }).$mount('#app')
    

    我的axios文件是这样的( src/renderer/axios )

    import axios from 'axios'
    
    const ax = axios.create({
      baseURL: 'localhost:5000'
    })
    
    export default ax
    

    在商店里使用它:

    import axios from '@/axios'
    
    // state, & mutations code...
    
    const actions = {
      async testAction({ commit }) {
        const { data } = await axios.$post('/testAction', {id: -1})
        console.log(data)
      }
    }
    
    export default {
      namespaced: true,
      state,
      mutation,
      actions
    }
    


    Uncaught (in promise) TypeError: _axios__WEBPACK_IMPORTED_MODULE_2__.default.$post is not a function

    你知道我做错了什么吗?

    0 回复  |  直到 5 年前