关于我在封装axios和配置代理服务器时遇到的问题

19 篇文章 0 订阅

关于封装

按照以前的习惯,在封装axios的post请求时,会用qs插件。然而事实证明技术总是在不知不觉中更新。以下是我请教大牛以后获得的结论。不用再使用qs啦!

// 封装post方法,params-参数  url-地址 isfile-参数是否带文件
export function post(url,params={},isfile=false){
    //  参数序列化
    let data='';
    if(isfile){
        data = new FormData();
        for(var key in params){
            data.append(key,params[key])
        }
    }else{
        data =params
    }

    return axios.post(url,data)
}

关于配置代理服务器

以前没有配置过太长的服务器,所以有错的第一时间我会想到是不是路径太长了,最终结果却是,我应该配本地路径,然后转发到配置代理中配置的路径。具体代码如下:

配置基本路径模块

// 配置环境变量
let apiurl = null;
if(process.env.NODE_ENV == "development"){
    // 开发模式
    apiurl = "http://127.0.0.1:8080"
}else{
    // 线上环境--不晓得
    apiurl = ""
}

export{
    apiurl,
};

http.js中配置的模块

//响应拦截器
axios.interceptors.response.use((res)=>{
    console.group("响应拦截器",res.config.url);
    console.log(res);
    console.groupEnd()
    if(res.code == 200){
        return Promise.resolve(res.data)
    }else{
        return Promise.reject(res.msg)
    }
   
},(err)=>{
    // 响应错误的处理
    console.log(err)
    return Promise.reject('请检查网络设置')
})

// get方法封装  params-参数  url-地址
export function get(url,params={}){
    return axios.get(url,{params})
}

// 封装post方法,params-参数  url-地址 isfile-参数是否带文件
export function post(url,params={},isfile=false){
    //  参数序列化
    let data='';
    if(isfile){
        data = new FormData();
        for(var key in params){
            data.append(key,params[key])
        }
    }else{
        data =params
    }

    return axios.post(url,data)
}

最重要的配置代理服务器模块它来啦

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
    devServer: {
      port: 8080,
      proxy: {
      '/usercenter/v1': {
        target: 'http://api.scard.tech',
        ws:true,
        changeOrigin:true,
        secure:false
      }
    }
  }

})

有什么不对还请大家多多指教哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值