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 加上最后自己的验证
Nov 04 Javascript
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
Extjs优化(二)Form表单提交通用实现
Apr 15 Javascript
JQuery each()嵌套使用小结
Apr 18 Javascript
jquery实现文本框数量加减功能的例子分享
May 10 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
Jul 17 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 Javascript
学习使用AngularJS文件上传控件
Feb 16 Javascript
less简单入门(CSS 预处理语言)
Mar 08 Javascript
JavaScript实现前端分页控件
Apr 19 Javascript
微信小程序数字滚动插件使用详解
Feb 02 Javascript
原生JS与JQ获取元素的区别详解
Feb 13 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
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
对node.js中render和send的用法详解
2018/05/14 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
Python3访问并下载网页内容的方法
2015/07/28 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
Python3.4实现远程控制电脑开关机
2018/02/22 Python
python学生信息管理系统(完整版)
2020/04/05 Python
深入理解Django-Signals信号量
2019/02/19 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
Python数组并集交集补集代码实例
2020/02/18 Python
python单例模式的应用场景实例讲解
2021/02/24 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
中小企业员工手册范本
2015/05/14 职场文书
签字仪式主持词
2015/07/03 职场文书
校运会通讯稿
2015/07/18 职场文书
python3中apply函数和lambda函数的使用详解
2022/02/28 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android