Vue后台进行交互跨域问题
在实际项目开发中,经常会碰到需要判断环境变量的情景。
在 vue-cli 的环境下,已经默认配置了一个NODE_ENV的环境变量。当 npm run dev
时,环境变量是development ;当 npm run build
时,环境变量是production。
用过vue-cli开发的通常对NODE_ENV都不陌生,比如我们配置ajax请求的域名头时,就是通过判断 process.env.NODE_ENV来实现的。
上面的process.env.NODE_ENV是vue-cli默认配置的,但是在实际项目开发中,只有开发环境和生产环境是还不够。比如我们还想来一个测试坏境,这时候就需要自己定义了
vue-cli baseURL配置
.env.development配置文件
VUE_APP_BASEURL提取了所有请求url的公共部分,这样在发送axios请求时就不需要写完整的请求路径,只需要写调用后端的接口名就行了,
要想让vue知道这个baseURL,需要进行配置,将配置的baseURL交给vue
向后台发送请求
要想和后台进行数据交互,发送请求时就要解决跨域问题,即要保证浏览器地址栏和发送请求的url一致
浏览器地址栏:
请求url:
若IP地址和端口号不同,就会发生跨域问题,无法请求到后台。
跨域错误:
配置代理
vue.config,js中可以对前端项目的端口进行配置,并且可以将请求转发到真正要请求的地方去