vue项目打包后请求地址错误/打包后跨域操作


Posted in Javascript onNovember 04, 2020

vue项目 npm run dev时跨域请求正常,但是打包后请求地址就错误(请求地址不存在),请求不到数据。

vue项目打包后请求地址错误/打包后跨域操作

在vue项目中常用的是proxyTable代理跨域,这个用起来比较方便,但是当项目打包后就遇到这个问题了。

解决办法如下:

打开config文件夹下的index.js文件,添加以下代码

pathRewrite: {
 '^api':'https://*****.com' //填写需要跨域的地址
}

vue项目打包后请求地址错误/打包后跨域操作

2.配置开发环境地址,就是config文件夹下的dev.env.js文件,添加以下代码:

'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 API_HOST:'"/api"' //配置代理路径的符号
})

3.配置生产环境地址,就是config文件夹下的prod.env.js文件,添加以下代码:

'use strict'
module.exports = {
 NODE_ENV: '"production"',
 API_HOST:'"https://**********.com/api"' //生产环境的地址
}
})

如果接口地址没有api这个公共路径就不要添上了。

4. 接下来就该在组件中使用了。

methods : {
  getData() {
  let _this = this;
  this.http(this,{
  //process.env.API_HOST 获取当前环境的api地址
   url : process.env.API_HOST+'/platform/index/new',
   // headersType : 1 //token
  }).then(res=>{
   this.ShowSkeleTon = true;
   this.list = res.list;
  },err=>{
   console.log(err);
  });
  },
 },

然后就是修改所有组件中的url地址了

虽然比较麻烦,但可以完美解决这个问题。这样即使打包后也可以请求到数据了。

补充知识:vue项目部署后跨域请求后端失败(已解决)

未解决前

vue项目打包后请求地址错误/打包后跨域操作

验证码加载失败

解决后

vue项目打包后请求地址错误/打包后跨域操作

验证码加载成功

解决办法

在 nginx/conf/nginx.conf 下做如下配置

server {
 listen 8080;  # 监听的端口号
 server_name 127.0.0.1; # 服务器的ip地址
 root /usr/local/nginx/html; # 服务器中项目所在文件夹
 #charset koi8-r;
 #access_log logs/host.access.log main;
 location / {
  # root /usr/local/nginx/html/;
  try_files $uri $uri/ /index.html;
  index index.html index.htm;
 }
 # 解决跨域请求
 location /req {
  rewrite ^.+req/?(.*)$ /$1 break;
  proxy_pass http://127.0.0.1; #第一个跨域请求的地址
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
 # 解决跨域请求
 location /api {
  proxy_pass http://127.0.0.1:/login; # 第二个跨域请求的地址
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection ‘upgrade';
  proxy_set_header Host $host;
  proxy_cache_bypass $http_upgrade;
 }
 }

注意:以上提供了两种解决方法,但是当两个都使用第二中方法时会出现问题。

以上这篇vue项目打包后请求地址错误/打包后跨域操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Jun 22 Javascript
js处理表格对table进行修饰
May 26 Javascript
javascript中indexOf技术详解
May 07 Javascript
javascript实现别踩白块儿小游戏程序
Nov 22 Javascript
微信小程序 删除项目工程实现步骤
Nov 10 Javascript
Node学习记录之cluster模块
May 31 Javascript
JS判断Android、iOS或浏览器的多种方法(四种方法)
Jun 29 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
May 16 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
原生JavaScript实现贪吃蛇游戏
Nov 04 #Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 #Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
Nov 03 #Javascript
解决vant-UI库修改样式无效的问题
Nov 03 #Javascript
解决vant title-active-color与title-inactive-color不生效问题
Nov 03 #Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
Nov 03 #Javascript
JavaScript语法约定和程序调试原理解析
Nov 03 #Javascript
You might like
提升PHP速度全攻略
2006/10/09 PHP
浅析php面向对象public private protected 访问修饰符
2013/06/30 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
js常用DOM方法详解
2017/02/04 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
利用Python实现图书超期提醒
2016/08/02 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
2019/05/05 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
蔻驰意大利官网:COACH意大利
2019/01/16 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
新闻发布会主持词
2014/03/28 职场文书
物流管理专业推荐信
2014/09/06 职场文书
2014年文员工作总结
2014/11/18 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android