【问题标题】:Use axios and axios-mock-adapter使用 axios 和 axios-mock-adapter
【发布时间】:2018-06-13 10:46:45
【问题描述】:

我正在尝试在一个地方使用 axios 和 axios-mock-adapter 来聚合更多模拟,然后导出 axios 实例以在任何我想要的地方使用它:

模拟.js

import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';

let instance = axios.create({
    baseURL: 'https://some-domain.com/api/',
    timeout: 1000,
    headers: {'X-Custom-Header': 'foobar'}
});

let mock = new MockAdapter(instance);
mock.onGet('/users').reply(200, {
    users: [
        { id: 1, name: 'John Smith' }
    ]
});

export {instance}

main.js

import instance from './mock'

instance.get('/users')
  .then(function(response) {
    console.log(response.data);
});

但我收到此错误:

Uncaught TypeError: Cannot read property 'get' of undefined

谁能帮帮我?我错过了什么?

【问题讨论】:

    标签: javascript axios axios-mock-adapter


    【解决方案1】:

    使用export default instance 而不是export {instance}

    【讨论】:

      【解决方案2】:

      main.js

      import {instance} from './mock'
      

      避免默认导出 - 它允许以任何名称导入导出的模块。

      最好使用命名导出(包装在 {} 中)来强制所有导入中的命名一致。

      【讨论】:

        猜你喜欢
        • 2018-03-17
        • 1970-01-01
        • 1970-01-01
        • 2019-09-06
        • 2018-12-18
        • 1970-01-01
        • 2020-07-30
        • 2019-03-31
        • 2018-04-07
        相关资源
        最近更新 更多