vue-cli3 跨域配置

跨域代理配置

由于3.x的默认配置都转移到了CLI service里,所以生成的项目中并没有配置项,我们如果需要自定义一些项目配置,则需要自己在项目的根目录(root)创建一个vue.config.jsvue.config.js里的配置项所有都是可选的,这就避免了我们去看一大堆不必要的默认配置,只需要配置自己需要的部分就行了。【官方文档



由于baseUrl也是关联的部署目录,我们需求的仅仅是开发环境的变量,所以尽可能的我们不动baseUrl这个变量以免部署的时候出现问题。所以这里配置稍作修改。

需求上是我们只需要在开发环境配置跨域代理,所以我们可以在开发环境的配置上加上能够代理上的环境变量即可。官方提供了环境变量的配置方案。

在项目的根目录,我们创建一个.env.development文件来做开发环境的变量设置。

我们在.env.development文件下设置变量VUE_APP_BASE_API=/api即可将devServer的proxy重写的url赋值给VUE_APP_BASE_API,我们仅需在axios的封装方案上使用VUE_APP_BASE_API这个变量,就可以对应上devServer设置的变量。

// vue.config.js
module.exports = {
    // 修改的配置
    // 将baseUrl: ‘/api‘,改为baseUrl: ‘/‘,
    baseUrl: ‘/‘,
    devServer: {
        proxy: {
            ‘/api‘: {
                target: ‘http://www.example.org‘,
                changeOrigin: true,
                ws: true,
                pathRewrite: {
                  ‘^/api‘: ‘‘
                }
            }
        }
    }
}
// .env.development
VUE_APP_BASE_API=/api


这里依然是采用的http-proxy-middleware来做的代理配置,一些自定义配置可以移步到官网去进行参考。

原文地址:https://www.cnblogs.com/jinsuo/p/11712802.html

时间: 2024-07-30 20:13:28

vue-cli3 跨域配置的相关文章

vue resource 携带cookie请求 vue cookie 跨域

vue resource 携带cookie请求 vue cookie 跨域 1.依赖VueResource 确保已安装vue-resource到项目中,找到当前项目,命令行输入: npm install vue-resource --save 在主方法添加 过滤 Vue.http.interceptors.push(function(request, next) {//拦截器 // 跨域携带cookie request.credentials = true; next() }) 以下是针对每个请

springboot跨域配置

关于什么是跨域的问题,感兴趣的同学可以看阮一峰老师的日志 http://www.ruanyifeng.com/blog/2016/04/cors.html. 下面贴出我在springboot项目中的跨域配置. 1.CorsConfig package com.example.demo; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configur

asp.net Core 跨域配置

1.添加中间件 在ConfigureServices中添加 //跨域中间件服务 services.AddCors(); 在 Configure中添加 //跨域配置 app.UseCors(builder => builder.WithOrigins("http://example.com").AllowAnyHeader()); 原文地址:https://www.cnblogs.com/xuqp/p/9996687.html

Asp.net跨域配置

<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> <add name=&quo

跨域配置

SpringBoot跨域配置 我们的后端使用Spring Boot.Spring Boot跨域非常简单,只需书写以下代码即可. @Configuration public class CustomCORSConfiguration { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowe

解决vue axios跨域请求发送两次问题

问题: vue axios跨域请求,在Request Headers加Authorization传递Token时,发现统一请求触发了两次,第一次是Request Method: OPTIONS请求. 原因: 跨域请求时,浏览器会首先使用OPTIONS方法发起一个预请求,判断接口是否能够正常通讯.如果通讯异常,则不会发送真正的请求,如果测试通讯正常,则开始真正的请求. 解决方法: 后台:判断请求方式是OPTIONS,则不处理: 预请求 发送真正请求  PHP解决方法 class Common ex

Vue+Django 跨域问题配置

跨域请求问题: 1.Django后端解决办法: # 后端下载模块: pip install django-cors-headers # settings配置: MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', # 'dj

vue flask 跨域问题

最近一直忙着检查点测试平台的开发.之前主要是从事后端开发,现在所有的东西都需要自己一个人撸.也遇到了之前在后端服务开发中未碰到的问题,在此记录下解决的全过程. 前端采用vue + element的技术,开发完成后生成静态文件扔到nginx服务器上.后端用python的flask,完成之后放到gunicorn中.两个单独开发到没有什么太大问题,问题就出在将两个合在一起的时. 第一次合并的时候出现了下面的问题,额...跨域问题,问题不大改改后台的响应就ok,就写了一个简单的装饰器 装饰器代码: de

vue项目跨域问题

跨域 了解同源政策:所谓"同源"指的是"三个相同". 协议相同 域名相同 端口相同 解决跨域 jsonp 缺点:只能get请求 ,需要修改B网站的代码 cors 这个方案缺点 是 ie6 7 兼容不好(倒是不见得要兼容).需要B网站在响应中加头 postMessage 缺点也是 ie6 7 兼容不好(倒是不见得要兼容).需要修改B网站的代码 iframe window.name 传值得方式很巧妙,兼容性也很好.但是也是需要你能修改B网站代码 服务端主动请求B网站,兼

SpringBoot rest-api+Vue CORS跨域.md

跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 目前用到两种方式 前后端统一通过代理转发,使api和vue web都通过同一域名+端口来访问,以确保同源: 通过服务端接口层配置,支持CORS请求: 服务层配置 我们目前前端有Vue.安卓.iOS,后端共用一套,因此更好的方式是通过修改服务层,以支持多端请求. Spring MVC配置方式 Spring MVC从4.2版本开始增加对CORS的支持,只需要在Controller或