区分环境

一般是配置 .env .env.production 等。
默认配置就是用.env
示例:

VUE_APP_SRV = http://xxxxx/apiNODE_ENV='local'

封装下base_url

为啥要封装,因为开发模式需要proxy代理。。而线上模式不需要。

export function baseUrl() {return process.env.NODE_ENV === 'development' ? '/dev-api' : process.env.VUE_APP_SRV;
}

/dev-api 只要不和web里的path 冲突就行,也可以取其他名字。

axios 区分配置

开发模式 就是web的路径,再加个特殊的path 用作代理。
其他模式 不需要proxy配置,直接走api

const fetch = Axios.create({baseURL: baseUrl(),// baseURL: '/dev-api',timeout: 30000
});

其他注意事项

验证码和文件上传的url 一般就是写在组件里的。并不是用的axios, 但也会走proxy。

此时直接引用 上面封装的baseUrl 就行。。

有时候会忘记,直接用了process.env.VUE_APP_SRV 导致验证码老通不过。因为不是一个域名。

proxy 配置

就是个代理模式,转发下请求。从浏览器请求变成 内置的服务器请求,服务器请求是没有跨域一说的。

原来是 浏览器a域名请求 -> 服务器b域名。 × 跨域错误
现在是 浏览器a域名请求 -> 服务器a域名 api -> 服务器b域名api √正常。

服务器a域名 api 就是 proxy 干的。

配置示例

    devServer: {open:true,overlay: {warnings: false,errors: false,},proxy: {["/dev-api"]: {target: 'http:/b.com/api', // 服务器b域名apichangeOrigin: true,pathRewrite: {['^' + "/dev-api"]: ''}}},disableHostCheck: true},

vue.config.js 跨域配置相关推荐

  1. vue.config.js多页配置

    vue.config.js多页配置,具体看代码: "use strict"; const path = require("path"); var webpack ...

  2. vue.config.js中lintOnSave配置

    在vue.config.js文件中配置了lintOnSave属性 作用:设置是否在开发环境下每次保存代码时都启用 eslint验证. value: false:关闭每次保存都进行检测 true:开启每 ...

  3. Vue项目全面解析vuecil3/vuecil4的vue.config.js等常用配置

    前端变化日新月异,层出不穷,公司原项目使用vuecil2版本开发,elementUI等一系列库版本太低,也脱离世界很久远了,新版本库需要webpack4等环境,而老版本配置起来bug很多,在使用过程中 ...

  4. vue项目升级(01):全面解析vuecil3/vuecil4的vue.config.js等常用配置

    前言 前端变化日新月异,层出不穷,公司原项目使用vuecil2版本开发,elementUI等一系列库版本太低,也脱离世界很久远了,新版本库需要webpack4等环境,而老版本配置起来bug很多,在使用 ...

  5. vue使用axios请求相关配置文件包括跨域配置

    对axios进行封装方便后续使用(request.js) import axios from 'axios'const request = axios.create({timeout: 5000 }) ...

  6. (三)01 -Vue项目打包发布移动App——vue.config.js中配置相对路径publicPath为空字符串 在public中添加HBuilderX的打包配置文件manifest.json

    Vue 项目打包发布移动 App--npm run build打包 & vue.config.js文件中配置相对路径publicPath为空字符串 & 在 public中添加HBuil ...

  7. vue.config.js :配置webpack(文件传输大小受限)The following asset(s) exceed the recommended size limit (244 KiB)

    asset size limit: The following asset(s) exceed the recommended size limit (244 KiB). This can impac ...

  8. 26、vue前端出现跨域问题,如何解决跨域?

    问题: 因为浏览器的同源策略的限制问题(协议.主机.端口一致),浏览器访问非同源的网址时,会出现无法获取数据(已发请求,服务器已收到请求),出现跨域问题 3种解决方法: 1.cors跨域(配置服务器) ...

  9. UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)

    UniApp 运行到浏览器的时候,接口会跨域报错,这里通过两种方式解决,二选一即可. 修改或调整配置文件后,推荐重新运行,以防不生效. 配置完成后,请求接口显示 Please enable JavaS ...

最新文章

  1. Hibernate hql 查询指定字段并获取结果集
  2. 布隆过滤器Bloom Filter简介
  3. Java EE 7 / JAX-RS 2.0:具有自定义HTTP标头的简单REST API身份验证和授权
  4. 背计算机专业英语词汇,计算机专业英语词汇1500词(五)
  5. Win10 iot 配置防火墙限制应用部署
  6. 英语语音识别_英语 语音识别_英语语音识别软件 - 云+社区 - 腾讯云
  7. 5.分布式服务架构:原理、设计与实战 --- 基于调用链的服务治理系统的设计与实现
  8. 2022年6月TIOBE编程语言排名:Python、C、Java
  9. CVE-2018-0798:Microsoft office 公式编辑器 Matrix record 字段栈溢出漏洞调试分析
  10. MicroStation中关于mke文件的详解
  11. Playwright-python 教程
  12. Word替换重复的内容
  13. Loki 学习总结(1)—— Loki 中小项目日志系统的不二之选
  14. ffmpeg Intel硬件加速总结
  15. [C/C++] 十进制数转二进制
  16. git常用命令-zqh
  17. GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)...
  18. extrinsic parameters外部参数radial distortion畸变参
  19. 科大讯飞AI学习机T10测评:一台平板,就能实现减负增效?
  20. 记进组后第五次组会汇报

热门文章

  1. python求三角形面积步骤_通过求三角形面积步入python程序世界.pdf
  2. .NET WebApi调用微信接口Https请求工具类
  3. MPEG vs JPEG
  4. NOI题库答案(1.5 编程基础之循环控制)(1—20题)
  5. ERP系统和进销存系统的区别
  6. 锐浪(Grid++Report)报表脚本通过某些字段隐藏控件
  7. 易语言 Sql 教程
  8. sas9.2智能平台连接oracle数据库操作说明文档,SAS9.2 SID更新
  9. 现代检测技术--概论
  10. 智能工艺并不等同于计算机辅助工艺,关于人工智能技术在计算机辅助工艺设计中应用的探讨...