Vue项目配置跨域访问和代理proxy设置方式


Posted in Javascript onSeptember 08, 2020

在vue单页应用项目开发时,避免不了要请求后端,这时通常就会出现跨域问题。有2种常用的解决方案

后端设置允许跨域访问

前端通过代理进行访问后端

下面我们只说说如何配置vue-cli代理访问:

vue-cli代理

最简单就是配置vue conifg进行实现

下面配置3个请求的后端,分别是:

请求http://localhost:4201/adminapi/*会代理请求http://localhost:8180/*

请求http://localhost:4201/portalapi/*会代理请求http://localhost:8185/*

请求http://localhost:4201/securityapi/*会代理请求http://localhost:8089/*

由于vue-cli是基于webpack,因此webpack的devServer选项都是支持配置的

module.exports = {
 // ...
 devServer: {
   port: 4201,
   proxy: {
    '/adminapi': {
     target: 'http://localhost:8180',
     ws: true,
     changeOrigin: true,
     pathRewrite: {
      '^/adminapi': ''
     }
    },
    '/portalapi/': {
     target: 'http://localhost:8185/',
     ws: true,
     changeOrigin: true,
     pathRewrite: {
      '^/portalapi': ''
     }
    },
    '/securityapi/': {
     target: 'http://localhost:8089/',
     ws: true,
     changeOrigin: true,
     pathRewrite: {
      '^/securityapi': ''
     }
    }
   },
   disableHostCheck: true, // 这是由于新版的webpack-dev-server出于安全考虑,默认检查hostname,如果hostname 不是配置内的,将中断访问。
 },
 //...
}

Nodejs做中间时行路由转发

可以用nodejs和框架express对请求做路由转发。

在生产环境下更可以免去使用nginx配置反向代理。

方案各有利弊,技术架构选型时需要针对自己的项目环境,并且适合自己的团队是最好的。

后端跨域访问

后端的跨域访问设置也是比较简单的,不同语言JAVA PHP Python Go的设置也大同小异。

查询一下都有比较多的资料,但在生产环境下,为了安全起见,还是建议不要设置允许跨域访问,或者限制允许跨域的IP

补充知识:Vue 过滤器filter调用data、methods中的东西报错

今天学习了filter,我将过滤的过滤方法放到methods中发现怎么调用都说没有这个function

然后我把log了一下这个this 发现这个this指向的竟然是window

于是网上找到了如下的解决方法:

定义一个全局变量:

let that;

在beforeCreate生命周期将this赋值给that,通过that获得

var vm = new Vue({
  el: '#app',
  data: {
  },
  beforeCreate: function () {
    that = this
  },
  methods:{
   fom(fmt){
    ...
   }
  },
  ....,
  filters: {
       dateformate: function (val) {
         return that.fom("yyyy-MM-dd")
       }
     }
  })

以上这篇Vue项目配置跨域访问和代理proxy设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
JavaScript实现的购物车效果可以运用在好多地方
May 09 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
jQuery实现进度条效果代码
Dec 17 Javascript
微信小程序之MaterialDesign--input组件详解
Feb 15 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
Apr 13 Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
Sep 17 Javascript
javascript实现移动端红包雨页面
Jun 23 Javascript
vue 根据选择的月份动态展示日期对应的星期几
Feb 06 Vue.js
如何使用jQuery操作Cookies方法解析
Sep 08 #jQuery
js实现右键弹出自定义菜单
Sep 08 #Javascript
vue 使用原生组件上传图片的实例
Sep 08 #Javascript
使用js和canvas实现时钟效果
Sep 08 #Javascript
javascript使用canvas实现饼状图效果
Sep 08 #Javascript
vue配置多代理服务接口地址操作
Sep 08 #Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
Sep 08 #Javascript
You might like
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
php查询whois信息的方法
2015/06/08 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
golang与PHP输出excel示例
2016/07/22 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
JS图像无缝滚动脚本非常好用
2014/02/10 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
React.Js添加与删除onScroll事件的方法详解
2017/11/03 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
Python基于pillow判断图片完整性的方法
2016/09/18 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
python实现冒泡排序算法的两种方法
2018/03/10 Python
python样条插值的实现代码
2018/12/17 Python
什么是Python中的顺序表
2020/06/02 Python
python判断变量是否为列表的方法
2020/09/17 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
学习党课思想汇报
2013/12/29 职场文书
大学生心理活动总结
2014/07/04 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
初中家长意见
2015/06/03 职场文书
原生Js 实现的简单无缝滚动轮播图的示例代码
2021/05/10 Javascript
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python