位置: IT常识 - 正文

vue.config.js配置proxy代理解决跨越;proxy代理报404;(vueconfigjs配置proxy 无效)

编辑:rootadmin
vue.config.js配置proxy代理解决跨越;proxy代理报404;

推荐整理分享vue.config.js配置proxy代理解决跨越;proxy代理报404;(vueconfigjs配置proxy 无效),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vueconfigjs配置proxy不管用,vueconfigjs配置proxy和nginx的关系,vueconfigjs配置proxy和nginx,vueconfigjs配置proxy打包prod,vueconfigjs配置proxy 打印出代理的地址,vueconfigjs配置proxy,vueconfigjs配置proxy不管用,vueconfigjs配置proxy不管用,内容如对您有帮助,希望把文章链接给更多的朋友!

像我们本地的vue项目运行起来,访问的地址一般是localhost,这个时候请求后台的接口,端口号也不一致,肯定就会存在跨域问题,所以我们要是想正常访问接口的话,就需要解决掉跨域问题。

本文我们是在vue.config.js配置proxy代理解决跨越:如果没有vue.config.js,就直接在项目根目录下建一个即可。

const path = require('path')const resolve = (dir) => path.join(__dirname, dir)module.exports = { publicPath: './', // 打包路径,使用相对路径生成的dist文件夹下的index可以打开 outputDir: 'dist', // 输出文件目录 productionSourceMap: false, // 取消生成map文件 lintOnSave: false, // 配置关闭eslint (代码会有红色热浪提示错 但不影响代码运行) // webpack-dev-server 相关配置 devServer: { open: true, // 自动打开浏览器 host: '0.0.0.0', /* 设置为0.0.0.0则所有的地址均能访问 */ port: 8080, // 端口号 https: false, // 是否使用https协议 hotOnly: false, // 是否开启热更新 // proxy: null // 设置代理 disableHostCheck: true, // 开启可以用自己的域名 //【【【【【【【【【【【【【【【【【【【【【注意修改和配置代理后,一定要重启项目 否则无效或404】】】】】】】】】】】】】】】】】 //【【【【【【【【【【【【【【【【【【【【【注意修改和配置代理后,一定要重启项目 否则无效或404】】】】】】】】】】】】】】】】】 proxy: { //【【【【【【【【【【【【【【【 注意修改和配置代理后,一定要重启项目 否则无效或404】】】】】】】】】】】】】】】】】 // 配置多个代理 '/chc-shop': { target: 'https://www.bilibili.cn', //这里的是.cn还是.com 只会影响你本地启动项目时候会调用哪个数据库的数据,而不会影响测试和线上环境调用对应的接口的。(一般都是本地调用.cn;等本地需要调试线上bug时候,改成.com重启项目看线上bug) changeOrigin: true, //是否跨域 secure: false, //如果是https请求 需要设置为true logLevel: 'debug', //ws: true,//是否要代理 websocket }, // 此处若使用 "/api1" 类似命名可能会导致请求时只截取api部分接口出现404错误,因此命名时尽量避免此类命名方式。 // 既命名不要相似 有/api 就不要再出现/api2 '/myapi': { target: 'https://www.bilibili.cn', //接口域名 changeOrigin: true, //是否跨域 secure: false, //如果是https请求 需要设置为true logLevel: 'debug', //ws: true,//是否要代理 websocket pathRewrite: { // 路径重写--意思就是遇到路径有 /myapi 的,就重写成 / 了。具体是重新写成 / 还是 /myapi看你自己的路径。 '^/myapi': '/' //(如果你的路径没有公共部分 那代理就这么写 vue页面请求的地址前需要自己拼接上 /myapi/后端接口 ) // '^/myapi': '/myapi' //(好比你的很多路径都是有公共部分 例如 /myapi/xx/xxx类型的,那代理就需要这么写或者直接不写pathRewrite这部分) } }, }, }, chainWebpack: config => { config.resolve.alias .set('@', resolve('src')) .set('common', resolve('src/common')) .set('utils', resolve('src/utils')) }}

一、 重点注意事项:

vue.config.js配置proxy代理解决跨越;proxy代理报404;(vueconfigjs配置proxy 无效)

1.配置了proxy代理,修改内容后:一定要重启项目 一定要重启项目 一定要重启项目 一定要重启项目 一定要重启项目,否则无效或者报错404.还有就是不要出现’/api’ 和’/api2’这样相似的,这样只会生效一个!!!

2.proxy可以配置多个代理。 2.1例如:我的接口很多都是/chc-shop/a1/xxx /chc-shop/a2/xxx这样的,也就是有公共部分/chc-shop。 那么就可以配置成如下代理

//【【【【【【【【【【【【【【【 注意修改和配置代理后,一定要重启项目 否则无效或404】】】】】】】】】】】】】】】】】 proxy: { // 配置公共代理 '/chc-shop': { target: 'https://www.zhbbroker.cn', //这里的是.cn还是.com 只会影响你本地启动项目时候会调用哪个数据库的数据,而不会影响测试和线上环境调用对应的接口的。(一般都是本地调用.cn;等本地需要调试线上bug时候,改成.com重启项目看线上bug) changeOrigin: true, //是否跨域 secure: false, //如果是https请求 需要设置为true logLevel: 'debug', //ws: true,//是否要代理 websocket }, },

同时vue页面的请求地址就是这样:

2.2例如:如果接口没有公共部分,那么就需要写pathRewrite,同时将代理的地址重写为’/'; pathRewrite的意思路径重写。意思就是遇到路径有 /myapi 的,就重写成 / 了。具体是重新写成 / 还是 /myapi看你自己的路径。 好比后端的请求地址是 /php2/mobile/login_verify_code.php,那么我需要单独写一个/php2去代理,

目标地址为:https://www.bilibili.com/php2/mobile/login_verify_code.php代码中请求的地址为: /php2/mobile/login_verify_code.php本地发送请求的地址为:http://localhost:8080/php2/mobile/login_verify_code.php线上被proxy替换为实际请求地址: https://www.bilibili.com/php2/mobile/login_verify_code.php//【【【【【【【【【【【【【【【 注意修改和配置代理后,一定要重启项目 否则无效或404】】】】】】】】】】】】】】】】】 proxy: { '/php2': { target: 'https://www.zhbbroker.cn', //接口域名 changeOrigin: true, //是否跨域 secure: false, //如果是https请求 需要设置为true logLevel: 'debug', //ws: true,//是否要代理 websocket }, },

同时vue请求页面

三、总结: 配置代理一定要重启项目,否则会无效或者404 是否写pathRewrite,取决与后端给的接口是不是有公共的url部分,有的话可以不写;无的话自己配置个/myapi拼接在后端的url上,同时要将pathRewrite重写为 /

另一个参考

本文链接地址:https://www.jiuchutong.com/zhishi/289643.html 转载请保留说明!

上一篇:微前端:qiankun的五种通信方式(微前端Qiankun介绍)

下一篇:天堂之路,新泽西州瓦瓦安达州立公园 (© Leembe/Getty Images)(天堂之路歌曲)

  • 小规模纳税人升级一般纳税人流程
  • 交车船税需要提交哪些资料?
  • 2021城建税
  • 分期收款方式确认销售收入
  • 企业的净资产包括实收资本吗
  • 机动车销售统一专票有几联
  • 用友u8如何结转期间损益
  • 企业返利如何处理
  • 购车 买车
  • 打款金额少于开票金额
  • 企业收取的押金要开票吗
  • 小规模纳税人普票超过30万怎么交税
  • 工会经费可不可以不交
  • 食堂伙食费怎么入账
  • 什么公司不需要融资
  • 劳务费个人所得税税率表2023最新
  • 企业不动产销售包括哪些
  • 免征房产税是多少
  • 如何准确区分不动产租赁和仓储服务?
  • 分期收款什么是分期还款
  • 分期收款确认成功怎么办
  • 工程结算收入以前年度多结转收入怎么处理?
  • 企业注销时往来账目挂账怎么处理
  • 如何停止win11
  • 华为手机屏幕旋转设置
  • 市净率怎么计算举例说明
  • 微信转账记录怎么加回好友?
  • php中表单的使用
  • 代开增值税发票沒有付款怎么做账?
  • PHP:date_default_timezone_get()的用法_Date Time函数
  • 潘塔纳尔湿地的主要成因
  • 隐藏在草丛里
  • html怎么引入图片
  • vue页面路由传参
  • 应税消费品属于什么科目
  • vue.min.js 本地引入
  • 用php制作日历2020日历表
  • 社保挂靠公司收费标准是怎样的
  • php对接第三方支付教程
  • 研发和技术服务税率由6%变为3%
  • 手工明细账簿怎么登账
  • 织梦自定义字段
  • 电子商务公司怎么做账比较合适
  • 项目支出可以列办公费吗
  • 资产总额是指营业收入和营业支出吗
  • Mysql以utf8存储gbk输出的实现方法提供
  • 公司聘用临时工需要买社保吗
  • 无资产可执行啥意思
  • 非流动资产处置损失计入什么科目
  • 期末留抵税额怎么填报表
  • 递延收益按多少折算
  • 出口退税没有进项就退不了税吗?
  • 中央空调的维护费一年要多少钱?
  • 企业项目贷款所需资料
  • 清洁服务公司账务处理
  • 会计里面权益是什么
  • 存货总账根据什么填列
  • 借贷行为如何认定
  • mysql正整数类型
  • mysql5.7.30安装
  • sqlserver临时表详解
  • centos的版本有哪些
  • 禁止Windows 打游戏怎么办
  • Linux系统中quota磁盘命令的相关使用解析
  • 如何解决笔记本电脑温度过高 蓝屏
  • 苹果电脑安装虚拟机会有什么影响
  • administrator帐户已锁定
  • win7系统如何修改锁屏密码
  • win10桌面图标排列设置
  • unity手机游戏开发教程
  • opengl es4
  • 神奇宝贝
  • javascript definitive guide
  • 如何保养铜香炉
  • js实现dialog
  • 什么是总分机构汇总纳税
  • 收购发票怎么抵扣申报
  • 德勤 税务
  • 丰台和朝阳中间是哪里
  • 社保每个月都要交吗,不交了会怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设