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 相关文章推荐
js实现的复制兼容chrome和IE
Apr 03 Javascript
jquery插件推荐浏览器嗅探userAgent
Nov 09 Javascript
jquery实现表单验证并阻止非法提交
Jul 09 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
javascript实现简单的分页特效
Aug 12 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
Sep 20 Javascript
详解Bootstrap按钮
Jan 04 Javascript
jQuery UI制作选项卡(tabs)
Dec 13 Javascript
小程序开发实战:实现九宫格界面的导航的代码实现
Jan 19 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
vue template中slot-scope/scope的使用方法
Sep 06 Javascript
利用js-cookie实现前端设置缓存数据定时失效
Jun 18 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
PHP 变量定义和变量替换的方法
2009/07/30 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
php 错误处理经验分享
2011/10/11 PHP
php后门URL的防范
2013/11/12 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
11款基于Javascript的文件管理器
2009/10/25 Javascript
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
THREE.JS入门教程(6)创建自己的全景图实现步骤
2013/01/25 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
2013/06/05 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
js命名空间写法示例
2015/12/18 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
上海期货面试题
2014/01/31 面试题
环境工程大学生个人的自我评价
2013/10/08 职场文书
住房公积金接收函
2014/01/09 职场文书
客户表扬信范文
2014/01/10 职场文书
仓库组长岗位职责
2014/01/29 职场文书
审计班子对照检查材料
2014/08/27 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
同事离别感言
2015/08/04 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers