基本上都是由前端解决跨域的,以前的我在上家公司是后端解决跨域问题的,现在的我经过不懈努力和奋斗独立解决这个跨域问题
1:看你们创建项目的时候有无vue.config.js这个文件,如果有就直接在这上面写你跨域的代码,没有就直接创建一个vue.config.js的文件,这个影响不大的
2:由于我创建的项目的时候没有这个文件,所以我自己创建这个文件
module.exports = {
devServer: {
//设置代理
proxy: {
// 开发环境接口:http://116.46.28.20/api/users/ublist/
// 假设生产环境接口是:http://www.qq.com/api/users/ublist/
// 通过这种前端代理的方式,本地和生产环境访问的就是 /api/users/ublist/ 这个相对路径,这样生产环境肯定是没问题的
// 然后开发环境访问的就是 http://localhost:8080/api/users/ublist/
// 下面这个 /api 意思就是,只要接口是 /api 开头的,就走下面这个代理
// 所以这个 http://localhost:8080/api/users/ublist/ 地址实际上就等于是 target + 地址本身(包括 /api)
// 即是 'http://116.46.28.20' + '/api/users/ublist/' = http://116.46.28.20/api/users/ublist/
// 通过这种方式就不会跨域了
// 当然除此之后还可以设置重写地址和涉及到多个 proxy 的优先级问题,那个等自己去深入了解再了解,这里用不上
'/api': {
changeOrigin: true, //开启代理: 在本地会创建一个虚拟服务端,然后发送请求数据,并且同时接收请求数据,这样客户端和服务端进行数据的交互就不会有跨域问题
target: 'http://116.46.28.20', // 要访问的跨域的域名
}
}
},
}