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 纯数字不重复排列的另类方法
Jul 17 Javascript
关于Javascript模块化和命名空间管理的问题说明
Dec 06 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
Sep 16 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
Jan 14 Javascript
深入理解jQuery.data() 的实现方式
Nov 30 Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 Javascript
JSON与JS对象的区别与对比
Mar 01 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 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下过滤HTML代码的函数
2007/12/10 PHP
PHP ajax 分页类代码
2008/11/13 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
网页中实现浏览器的最大,最小化和关闭按钮
2007/03/12 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
JS delegate与live浅析
2013/12/21 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
分享使用AngularJS创建应用的5个框架
2015/12/05 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
Python中方法链的使用方法
2016/02/23 Python
python文件选择对话框的操作方法
2019/06/27 Python
python time.strptime格式化实例详解
2021/02/03 Python
为什么UNION ALL比UNION快
2016/03/17 面试题
建筑公司文秘岗位职责
2013/11/29 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
西安兵马俑导游词
2015/02/02 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
写给媳妇的检讨书
2015/05/06 职场文书
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript