Vue项目搭建常用的配置文件,request.js和vue.config.js

1. 前端跨域解决方案

request.js用来请求数据,封装的代码如下:

import axios from 'axios'

const request = axios.create({
	baseURL: '/api',  // 注意!! 这里是全局统一加上了 '/api' 前缀,也就是说所有接口都会加上'/api'前缀在,页面里面写接口的时候就不要加 '/api'了,否则会出现2个'/api',类似 '/api/api/user'这样的报错,切记!!!
    timeout: 5000
})

// request 拦截器
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';
  
 // config.headers['token'] = user.token;  // 设置请求头
    return config
}, error => {
    return Promise.reject(error)
});

// response 拦截器
// 可以在接口响应后统一处理结果
request.interceptors.response.use(
    response => {
        let res = response.data;
        // 如果是返回的文件
        if (response.config.responseType === 'blob') {
            return res
        }
        // 兼容服务端返回的字符串数据
        if (typeof res === 'string') {
            res = res ? JSON.parse(res) : res
        }
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        return Promise.reject(error)
    }
)


export default request

vue.config.js:

// 跨域配置
module.exports = {
    devServer: {                //记住,别写错了devServer//设置本地默认端口  选填
        port: 9876,
        proxy: {                 //设置代理,必须填
            '/api': {              //设置拦截器  拦截器格式   斜杠+拦截器名字,名字可以自己定
                target: 'http://localhost:9999',     //代理的目标地址
                changeOrigin: true,              //是否设置同源,输入是的
                pathRewrite: {                   //路径重写
                    '^/api': ''                     //选择忽略拦截器里面的内容
                }
            }
        }
    }
}

2. 后端跨域解决方案

如果后端设置了跨域配置,则使用下面的request.js 代码:

import axios from 'axios'

const request = axios.create({
	baseURL: 'http://localhost:9090',  // 注意!! 这里是全局统一加上了 后端接口前缀 前缀,后端必须进行跨域配置!
    timeout: 5000
})

// request 拦截器
// 可以自请求发送前对请求做一些处理
// 比如统一加token,对请求参数统一加密
request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';
  
 // config.headers['token'] = user.token;  // 设置请求头
    return config
}, error => {
    return Promise.reject(error)
});

// response 拦截器
// 可以在接口响应后统一处理结果
request.interceptors.response.use(
    response => {
        let res = response.data;
        // 如果是返回的文件
        if (response.config.responseType === 'blob') {
            return res
        }
        // 兼容服务端返回的字符串数据
        if (typeof res === 'string') {
            res = res ? JSON.parse(res) : res
        }
        return res;
    },
    error => {
        console.log('err' + error) // for debug
        return Promise.reject(error)
    }
)


export default request

  • 264
    点赞
  • 1043
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 102
    评论
### 回答1: Swagger是一个开源的API文档生成工具,它可以让开发人员更加高效地设计、构建和测试RESTful Web服务。在API开发中,Swagger可以自动生成API文档以及客户端SDK,减少了开发人员的工作量,同时也提高了API的可读性和可维护性。 程序员青戈则是一位致力于学习和分享技术的IT博主,他在技术领域有着广泛的兴趣和深厚的造诣,涵盖了前端开发、后端开发、大数据、人工智能等诸多领域,是众多技术爱好者们学习的典范。 结合两者,Swagger程序员青戈不仅代表了技术的热情和创造力,更代表了IT行业不断发展和演变的精神。无论是在API文档生成工具还是技术博客方面,都需要我们像Swagger程序员青戈一样坚持不懈地学习、创新,才能不断提高自己的技能水平,为行业的发展做出贡献。 ### 回答2: Swagger是一种RESTful API文档生成工具,它可以让开发者快速地设计、构建和测试Web API。而青戈,是一个优秀的Swagger程序员。 首先,青戈掌握了Swagger的各种语言支持和插件,包括Java、Node.js、C#等等,他可以使用Swagger来生成多种语言的API文档,以及使用Swagger插件来增加API测试和交互功能。这使他可以在各种不同的项目中快速地集成Swagger,帮助团队更加高效地进行API开发。 其次,青戈对Swagger规范有深入的理解和应用。他了解OpenAPI规范,并能够根据规范设计RESTful API。他能够使用Swagger注解来描述接口的请求与响应数据,以及接口之间的依赖关系。通过规范的使用,他可以使API文档更加准确清晰,并且减少API开发过程中的沟通成本,同时提高API设计的可维护性和复用性。 最后,青戈擅长使用Swagger来进行API测试。他利用Swagger提供的测试客户端进行API测试,根据文档中的请求参数和响应数据来测试API的正确性和可靠性。通过测试,他可以找出API存在的问题,并及时反馈给开发人员进行修复,从而确保API的正常运行。 总体来说,青戈是一位熟练掌握Swagger的程序员,他可以利用Swagger的各种功能来帮助团队高效地进行API开发。在Swagger项目中,他会成为支持团队快速迭代、渐进优化的关键力量。 ### 回答3: Swagger程序员青戈是一位优秀的程序员,他对自己的技术有着非常高的要求,并且不断地追求技术的提升。他有着很强的学习能力,能够在短时间内学习和掌握一种新的技术。在工作中,青戈总是能够快速地定位和解决问题,他的代码风格简洁明了,易于阅读和维护。他还非常善于与同事沟通和合作,能够快速地与他们建立良好的工作关系和协作精神。 青戈精通Swagger框架,并且深入了解RESTful API的设计原则和规范。他在工作中经常使用Swagger来管理和文档化API接口,能够清晰地展示接口的使用方法和参数说明,从而方便其他开发人员的使用和测试。他还善于使用Swagger进行API接口的测试和调试,大大提高了接口的稳定性和可靠性。 除了Swagger框架,青戈还熟悉多种后端开发技术,如Java、Spring、Hibernate等,在这些技术上也有着很深的造诣。他能够熟练地运用这些技术来开发高效、安全、可靠的后端服务,同时还善于使用各种工具来辅助开发工作,如Git、Jenkins、JMeter等工具。 总的来说,Swagger程序员青戈是一位非常出色的程序员,他对自己的技术要求极高,工作态度认真负责,具有非常强的团队协作能力和沟通能力。他的专业知识和技术能力不仅在公司中备受赞誉,在业内也有较高的声誉。
评论 102
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员青戈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值