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 相关文章推荐
Javascript判断图片尺寸大小实例分析
Jun 16 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
javascript实现checkBox的全选,反选与赋值
Mar 12 Javascript
js数组操作方法总结(必看篇)
Nov 22 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
详解jQuery的表单验证插件--Validation
Dec 21 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
ES6模块化的import和export用法方法总结
Aug 08 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
关于vue 结合原生js 解决echarts resize问题
Jul 26 Javascript
如何使用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
星际流派综述
2020/03/04 星际争霸
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
iSlider手机端图片滑动切换插件使用详解
2019/12/24 Javascript
OpenLayers3实现对地图的基本操作
2020/09/28 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
Python与shell的3种交互方式介绍
2015/04/11 Python
图解Python变量与赋值
2018/04/03 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Pycharm 2020年最新激活码(亲测有效)
2020/09/18 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
Martinelli官方商店:西班牙皮鞋和高跟鞋品牌
2019/07/30 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
大学生军训自我评价分享
2013/11/09 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
顶岗实习计划书
2015/01/16 职场文书
农村党员干部承诺书
2015/05/04 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
2022/05/04 Python