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 相关文章推荐
jquery multiSelect 多选下拉框
Jul 09 Javascript
三级下拉菜单的js实现代码
May 23 Javascript
js汉字转拼音实现代码
Feb 06 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
三种取消选中单选框radio的方法
Sep 09 Javascript
jQuery实现的动态伸缩导航菜单实例
May 07 Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 Javascript
js实现移动端轮播图滑动切换
Dec 21 Javascript
js删除对象中的某一个字段的方法实现
Jan 11 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
改变Apache端口等配置修改方法
2008/06/05 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
Javascript动态绑定事件的简单实现代码
2010/12/25 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
js中创建对象的几种方式
2017/02/05 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
js中Object.defineProperty()方法的不详解
2018/07/09 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
2020/06/01 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
wxPython框架类和面板类的使用实例
2014/09/28 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
社区十八大感言
2014/01/19 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
2014年安全生产责任书
2014/07/22 职场文书
优秀教师推荐材料
2014/12/16 职场文书
公诉意见书范文
2015/06/05 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
MySQL优化及索引解析
2022/03/17 MySQL