【Vue】代理服务配置
Springboot 后台接口地址
基础路径配置:
server:
port: 8080
servlet:
context-path: /demo
完整路径:
localhost:8080/demo
Vue无代理服务配置
.env.development文件配置后台接口和对应path
# just a flag
ENV = 'development' # base api
VUE_APP_BASE_DOMAIN = 'http://localhost:8080'
VUE_APP_BASE_API = '/demo'
在utils/request.js文件中,更改基础地址:
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth' /**
* create an axios instance
* 创建 axios实例
* @type {AxiosInstance} axios实例
*/
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_DOMAIN + process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // 请求超时时间 request timeout
})
npm run dev 重启后 接口就是请求后台的了
但是没有配置代理服务,请求会出现一个问题:每个请求都会附带一个[OPTION]预检请求
开发的时候混在一起调试很麻烦
Vue 代理服务配置
定义目标接口,目标API的路径,和代理路径
# just a flag
ENV = 'development' # base api
VUE_APP_BASE_DOMAIN = 'http://localhost:8080'
VUE_APP_BASE_API = '/demo'
VUE_APP_PROXY_API = '/proxy-api'
Request.js只需要填写代理路径,默认拼接web地址为前缀
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth' /**
* create an axios instance
* 创建 axios实例
* @type {AxiosInstance} axios实例
*/
const service = axios.create({
baseURL: process.env.VUE_APP_PROXY_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // 请求超时时间 request timeout
})
Vue.config.js配置devServer时,追加代理配置:
devServer: {
port: port,
open: true,
overlay: {
warnings: false,
errors: true
},
/* 配置代理服务,解决接口跨域访问问题 */
proxy: {
/* 匹配所有以[代理路径]开头的路径 */
[process.env.VUE_APP_PROXY_API]: {
/* 代理目标的基础路径 就是实际后台接口 */
target: process.env.VUE_APP_BASE_DOMAIN,
/* 路径重写,匹配[代理路径]开头的字符串,并把[代理路径]替换为空字符串 路径重写时把[代理路径]替换回[实际Api路径] */
pathRewrite: { [`^${process.env.VUE_APP_PROXY_API}`]: process.env.VUE_APP_BASE_API },
/* 支持websocket */
ws: true,
/* 请求来自于。即控制请求头中host数据。默认为true说谎:来自8080; false如实回答来自代理服务器8081 */
changeOrigin: true
}
}
/* 不使用mockJS的接口数据 */
/* before: require('./mock/mock-server.js') */
},
【Vue】代理服务配置的更多相关文章
- vue全局配置----小白基础篇
今天学习vue全局配置.希望帮助我们去了解vue的全局配置,快速开发. Vue.config是vue的全局配置对象.包含Vue的所有全局属性: silent:boolean(默认值:false)--- ...
- vue环境配置 vue-cli脚手架
vue 环境配置步骤: 第一步: 在官网下载node,Node 下载地址 http://nodejs.cn/ 并安装node.检测node是否安装成功, 按 “windows+r” 进入cmd命令 ...
- 如何在你的Vue项目配置vux
做移动端项目的话vue现在是首要的选择,足够轻便,文档足够全,当然用的人多,项目中遇到的坑别人可能也遇到过,解决起来也比较方便,至于在开发中做需要的移动端组件库,个人比较推崇vux. 其实项目里组件库 ...
- vue环境配置脚手架环境搭建vue工程目录
首先在初始化一个vue项目之前,我们需要下载node.js,并且安装! 下载地址: nodejs.cn/download 安装完成之后,windows+r 运行命令 cmd 输入node -v 检 ...
- vue路由配置,vue子路由配置
上一篇关于vue环境配置已经写好了!按照操作就行了! 现在一个项目已经部署完成,接下来我们从路由开始! 还记得在初始化项目的时候,有提示是否需要安装vue-router,对没错,vue中路由全靠它! ...
- vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境
目录 一.VUE项目的搭建 1. 环境搭建 2. 项目的创建和启动 二. 开发项目 1. 配置vue项目启动功能 2. 开发vue项目 (1)项目文件的作用 (2)vue项目开发流程 (3)vue项目 ...
- vue如何配置路由 、获取路由的参数、部分刷新页面、缓存页面
vue如何配置路由 .获取路由的参数.部分刷新页面.缓存页面:http://www.mamicode.com/info-detail-1941546.html vue-router传递参数的几种方式: ...
- 2、Vue实战-配置篇-npm配置
引言: 如果刚开始使用 vue 并不了解 nodejs.npm 相关知识可以看我上一篇的实践,快速入门了解实战知识树. Vue实战-入门篇 上篇反思: 1.新的关注点:开发 vue 模板.如何使用本地 ...
- Vue插件配置和 后台交互
Vue插件配置和 后台交互 一.全局配置静态文件(csss, js..) 1.1 全局配置css文件 创建css文件 在main.js配置css文件 // 配置全局css样式 // 方式一 impor ...
- vue基本配置和生命周期
Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...
随机推荐
- Vue.js 动画与过渡效果实战
title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果,以及如 ...
- SELinux策略语法以及示例策略
首发公号:Rand_cs SELinux策略语法以及示例策略 本文来讲述 SELinux 策略常用的语法,然后解读一下 SELinux 这个项目中给出的示例策略 安全上下文 首先来看一下安全上下文的格 ...
- INFINI Labs 产品更新 | Easysearch 新增分词插件、Gateway 支持邮件发送等功能
INFINI Labs 产品又更新啦~,本次更新概要如下:Easysearch 新增了分词插件.优化了生命周期管理功能等:Gateway 新增 smtp 过滤器来支持邮件的发送,支持自动跳过因为异常关 ...
- Java编码规范-字符串与Integer的比较,BigDecimal非空参数
Java编码规范-字符串与Integer的比较,BigDecimal非空参数 package com.example.core.mydemo; import java.math.BigDecimal; ...
- 笔记:Sublime Text3配置
Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 笔记:Sublime Text3配置 日期:2017-12 ...
- Linux 时间 与 定时器
背景 在学习 Linux 信号 有关知识中,提到了 alarm函数. 进程时间 (原文地址:https://www.cnblogs.com/clover-toeic/p/3845210.html) 进 ...
- Python_12 多继承与多态
一.查缺补漏 1. self和super的区别:self调用自己方法,super调用父类方法 当使用 self 调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找 而当使用 super ...
- 【Mysql】 MysqlDump导表结构或数据
mysqldump只导出表结构或只导出数据的实现方法 语法: 默认不带参数的导出,导出文本内容大概如下:创建数据库判断语句-删除表-创建表-锁表-禁用索引-插入数据-启用索引-解锁表. Usage: ...
- Linux Mint操作系统安装
1,Linux 发行版 什么是Linux 发行版呢?这要从Linux 来源说起.Unix操作系统后期,开始收费和商业闭源了.一个叫Richard Stallman 的人就发起 GNU 计划,想模仿U ...
- AT_abc318_g 题解
因为是图上路径是否经过某个点的问题,所以考虑建出圆方树,然后根据圆方树的性质,\(a\) 到 \(c\) 存在经过 \(b\) 的路径等价于 \(a,c\) 在圆方树上的路径经过 \(b\) 或者 \ ...