vue中import {request} from './index'和import request from './index'的区别?

246 阅读1分钟

/首先写两个 封装好的 网络请求/

import axios from 'axios'

export default = {

requestGet(ulr, params= {}){

return new Promise((resolve , reject)=>{

axios.get(url,param).then(res=>{

resolve(res.data)

}).catch(error =>{

reject(error)

})

})

}

}

export function request(config){

const instance = new axios.create({

baseUrl:'https://',

timeout:8000

})

//请求拦截器

instance.interceptors.request.use(config=>{

return config

},error=>{

})

//响应拦截器

instance.interceptors.response.use(res=>{

return res.data

},error =>{

})

}

/开始调用网络请求/

import request from './index'//第一个

import {request} from './index'//第二个

export default {

1.调用第一个

//自定义调用名称(注意:简洁,明了,自己一目了然)

getCompayInfo(){

return request.requestGet(url,params)//因为定义过名称,所以只能直接使用requestGet方法

},

2.调用第二个

getCompayInfo(){

return request({//因为直接导出函数所以,可以直接使用函数中的request方法

url:"compy",

method:'get'

}})

}

}

总结:上面代码的import命令,用于加载index.js文件,并从中输入变量。import命令接受一对大括号,里面指定要从其他模块导入的变量名。大括号里面的变量名,必须与被导入模块(index.js)对外接口的名称相同。不加{}可以直接理解为只能使用里面的特定写好的方法。