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 相关文章推荐
javascript拓展DOM操作 prependChild insertAfert
Nov 17 Javascript
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
javascript学习笔记之10个原生技巧
May 21 Javascript
javascript函数特点实例分析
May 14 Javascript
JavaScript包装对象使用详解
Jul 09 Javascript
jquery实现百叶窗效果
Jan 12 Javascript
React快速入门教程
Jan 17 Javascript
react-router实现按需加载
May 09 Javascript
5分钟快速看懂ES6中的反射与代理
Dec 19 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
vue框架中props的typescript用法详解
Feb 17 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
原生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的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
一个简单的php MVC留言本实例代码(必看篇)
2016/09/22 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
九种js弹出对话框的方法总结
2013/03/12 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
layer弹出层取消遮罩的方法
2019/09/25 Javascript
vue实现购物车列表
2020/06/30 Javascript
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
通过Python实现一个简单的html页面
2020/05/16 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
《月光启蒙》教学反思
2014/03/01 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
项目投资建议书
2014/05/16 职场文书
英语教育专业自荐信
2014/05/29 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
集中采购方案
2014/06/10 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL