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 相关文章推荐
用Div仿showModalDialog模式菜单的效果的代码
Mar 05 Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 Javascript
jQuery事件用法实例汇总
Aug 29 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
jQuery简单实现title提示效果示例
Aug 01 Javascript
JS实现的样式切换功能tableCSS实例
Dec 30 Javascript
10道典型的JavaScript面试题
Mar 22 Javascript
利用jquery和BootStrap实现动态滚动条效果
Dec 03 jQuery
js中的数组对象排序分析
Dec 11 Javascript
详解vue微信网页授权最终解决方案
Jun 16 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 Javascript
Vue实现跑马灯效果
May 25 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
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
PHP中mysqli_get_server_version()的实例用法
2020/02/03 PHP
javascript跨域刷新实现代码
2011/01/01 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
在页面加载完成后通过jquery给多个span赋值
2014/05/21 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
实例分析javascript中的异步
2020/06/02 Javascript
python学习 流程控制语句详解
2016/06/01 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
学生宿舍管理制度
2014/01/30 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
新闻编辑求职信
2014/04/09 职场文书
中等生评语大全
2014/05/04 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
查摆问题整改措施
2014/10/24 职场文书
2014年卫生工作总结
2014/11/27 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
MySQL 不等于的三种使用及区别
2021/06/03 MySQL