怎么封装一个公共的url

如何封装一个公共的url,这样在后期需要改接口的时候工作量不大
图片描述

图片描述

希望大佬给与回复

阅读 3.3k
4 个回答

vue工程的main.js

axios.defaults.baseURL=`http://www.example.com`

其他使用到的地方

axios.get('/user/login'); // 最终访问的地址是 http://www.example.com/user/login

你应该只会该域名吧?这种方式成本最小

不是公共url 是封装axios 你这个axios还是在每个页面单独引入的 项目中这样肯定不行
多搜一搜 有很多 https://blog.csdn.net/qq_3677...

个人理解。 看你使用的是vue + axios, 你可以在全局配置中axios进行简单的配置,比如参数格式化、请求数据携参配置、错误处理以及url的基本配置等等。具体需求还需要你自己来写,链接axios官网

在你axios的baseUrl处,获取发起请求的主机名location.hostname, 替换你当前的请求域名,当然前提是你的请求地址跟部署环境主机名一直,如有个别差异,只要请求地址包含了部署环境主机名的部分,提前写好,通过方法判断取不通的地址也能解决问题,封装一个方法即可
例如: 预设规则url,key即是你已知环境的主机名关键字,
baseUrlConfig: {

dev: "baidu-dev.com",
stg: "baidu-stg.com",
pre: "baidu-pre.com"

}
axios调用的时候动态设置 baseUrl,,获取url封装成一个方法即可,这样就可以应对开发部署不同环境的时候,就不用手动去改对应的请求环境了
baseUrlConfig[location.hostname]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题