iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue项目打包部署跨域怎么实现
  • 937
分享到

vue项目打包部署跨域怎么实现

2023-07-06 14:07:56 937人浏览 八月长安
摘要

本篇文章和大家了解一下Vue项目打包部署跨域怎么实现。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 Http 头的机制,该机制通过允许服务器标示除了它自己以外的

本篇文章和大家了解一下Vue项目打包部署跨域怎么实现。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 Http 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的“预检”请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。跨源 HTTP 请求的一个例子:运行在 https://domain-a.com 的 javascript 代码使用 XMLHttpRequest 来发起一个到 https://domain-b.com/data.JSON 的请求(也就是vue的axiOS,或者Jqueryajax请求)。

出于安全性,浏览器限制脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest 和 Fetch api 遵循同源策略。这意味着使用这些 API 的 WEB 应用程序只能从加载应用程序的同一个域请求 HTTP 资源,除非响应报文包含了正确 CORS 响应头。

vue等前端工程在打包部署后,避免不了跨域问题。很让人抓狂,尤其是新手。其实解决起来也不难。

1.前端工程解决办法

1.1开发时候解决办法

在vue的开发中可以配置代理,来解决跨域问题,以vue3的vite为例:
比如我们的后端接口地址前缀为:http://192.168.1.2/api/v1/,在vite中就可以这样配置代理:

# 跨域代理,您可以配置多个 ,请注意,没有换行符VITE_PROXY = [["/api/v1","http://192.168.1.2/api/v1"]]#接口地址(程序中使用的地址)VITE_API_URL=/api/v1

1.2打包部署后解决办法

vue项目打包后编译成静态js了,vite的代理就不能用了,一般我们都是用Nginx来直接部署打包后的程序,我们就可以在nginx中配置反向代理来解决:

server{listen 80;server_name localhost;index    index.html index.htm;root   /var/www/dist;error_log   logs/localhost_error.log crit;access_log  logs/localhost_access.log  access;# 接口地址反代    location /api/v1/ {    proxy_pass http://192.168.1.2/api/v1/;    proxy_redirect off;    proxy_set_header HOST $host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Forwarded-Proto  $scheme;}rewrite ^(.*)\;(.*)$ $1 last;location ~* \.(eot|ttf|woff|woff2|svg|otf|html|htm|pdf|PDF|mp4|MP4)$ {add_header Access-Control-Allow-Origin *;}add_header Access-Control-Allow-Origin *;}

2.后端工程解决办法

也可以在后端工程中配置跨域,在SpringBoot中新建CorsConfig.java配置类,在其中加入如下Bean:

spring Webmvc中:

package com.example.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.HttpHeaders;import org.springframework.web.servlet.config.annotation.CorsReGIStry;import org.springframework.web.servlet.config.annotation.InterceptorRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class CorsConfig implements WebMvcConfigurer {    @Bean    public WebMvcConfigurer corsConfigurer() {        return new WebMvcConfigurer() {            @Override            public void addCorsMappings(CorsRegistry registry) {                registry.addMapping("/**")                    .allowedOriginPatterns("*") //允许跨域的域名,可以用*表示允许任何域名使用                    .allowedMethods("*") //允许任何方法(post、get等)                    .allowedHeaders("*") //允许任何请求头                    .allowCredentials(true) //带上cookie信息                    .exposedHeaders(HttpHeaders.SET_COOKIE)                    .maxAge(3600L); //maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果            }        };    }}

在Spring WebFlux中:

package com.example.config;import org.springframework.boot.autoconfigure.AutoConfigureOrder;import org.springframework.context.annotation.Configuration;import org.springframework.core.Ordered;import org.springframework.http.HttpHeaders;import org.springframework.web.Reactive.config.CorsRegistry;import org.springframework.web.reactive.config.EnableWebFlux;import org.springframework.web.reactive.config.WebFluxConfigurer;@Configurationpublic class CorsConfig implements WebFluxConfigurer {    @Override    public void addCorsMappings(CorsRegistry registry) {       registry.addMapping("/**")                    .allowedOriginPatterns("*") //允许跨域的域名,可以用*表示允许任何域名使用                    .allowedMethods("*") //允许任何方法(post、get等)                    .allowedHeaders("*") //允许任何请求头                    .allowCredentials(true) //带上cookie信息                    .exposedHeaders(HttpHeaders.SET_COOKIE)                    .maxAge(3600L); //maxAge(3600)表明在3600秒内,不需要再发送预检验请求,可以缓存该结果    }}

以上就是vue项目打包部署跨域怎么实现的简略介绍,当然详细使用上面的不同还得要大家自己使用过才领会。如果想了解更多,欢迎关注编程网精选频道哦!

--结束END--

本文标题: vue项目打包部署跨域怎么实现

本文链接: https://www.lsjlt.com/news/358567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue项目打包部署跨域怎么实现
    本篇文章和大家了解一下vue项目打包部署跨域怎么实现。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的...
    99+
    2023-07-06
  • vue项目打包部署跨域的实现步骤
    目录1.前端工程解决办法1.1开发时候解决办法1.2打包部署后解决办法2.后端工程解决办法跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过...
    99+
    2023-05-20
    vue 打包部署跨域 vue 打包跨域
  • vue项目部署跨域问题怎么解决
    这篇文章主要介绍“vue项目部署跨域问题怎么解决”,在日常操作中,相信很多人在vue项目部署跨域问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目部署跨域问题怎么解决”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Vue项目怎么打包部署到GitHub Pages中
    本篇内容介绍了“Vue项目怎么打包部署到GitHub Pages中”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前期准备编译调试通...
    99+
    2023-06-30
  • Vue项目打包部署到GitHubPages的实现步骤
    目录前言前期准备重要说明步骤1步骤2步骤3步骤4步骤5步骤6前言 关于什么是github pages?怎样创建github 仓库上传本地项目到GitHub远程仓库?等基本操作本文不再...
    99+
    2022-11-13
  • vue项目打包部署流程分析
    目录一、打包二、部署三、部署多个项目一、打包 (可选)去除打包后会生成的map文件:在vue.config.js中添加productionSourceMap: false, map...
    99+
    2022-11-13
  • Vue项目打包部署的实战过程记录
    目录前言一、准备工作——服务器和nginx使用1. 准备一台服务器2. nginx安装和启动3. 了解nginx: 修改nginx配置,让nginx服务器代理我们创建的文件二、Vue...
    99+
    2022-11-12
  • Vue项目打包部署全过程(history模式)
    目录前提准备部署流程vue.config.jsvue-routernpm run buildnginx总结前提准备 我们需要准备一个vue项目(vue-cli3或vue-cli4)、...
    99+
    2023-05-18
    vue项目打包部署到服务器 vue打包自动部署 vue项目怎么部署
  • Vue中的项目打包及部署全流程
    目录一、打包遇到的第一个问题问题二:文件找不到二、服务器部署1、解压2、用法3、Vue项目build后4、配置nginx正式开始将项目推送到自己服务器上CentOS操作系统的部署一、...
    99+
    2022-11-13
    Vue项目打包 Vue项目打包部署 Vue 打包部署
  • vue项目部署跨域问题的详细解决过程
    目录首先是后端:再是前端:总结跨域问题在前后端分离项目很常见,至于为什么会跨域,同源策略,百度各种博客都很详细,这里不再介绍,主要记录项目中的各种设置,解决的过程。 首先是后端: 过...
    99+
    2022-11-13
  • 前端vue打包项目,如何解决跨域问题
    目录vue打包项目解决跨域vue项目解决跨域(打包上线无需手动切换url)vue打包项目解决跨域 前段时间做一个vue打包成安卓和IOS的App,遇到了跨域问题,直接拿了之前项目的配...
    99+
    2022-11-13
  • idea怎么快速实现将SpringBoot项目打包Docker镜像并部署
    这篇文章主要介绍了idea怎么快速实现将SpringBoot项目打包Docker镜像并部署的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇idea怎么快速实现将SpringBoot项目打包Docker镜像并部署文...
    99+
    2023-06-30
  • Vue项目webpack打包部署到Tomcat刷新报404错误怎么办
    这篇文章将为大家详细讲解有关Vue项目webpack打包部署到Tomcat刷新报404错误怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。遇到的问题使用webpack...
    99+
    2022-10-19
  • vue项目打包部署后默认路由不正确怎么解决
    本篇内容介绍了“vue项目打包部署后默认路由不正确怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!打包部署后默认路由不正确问题描述vu...
    99+
    2023-06-30
  • Ubuntu中怎么部署vue项目
    这篇文章主要介绍“Ubuntu中怎么部署vue项目”,在日常操作中,相信很多人在Ubuntu中怎么部署vue项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ubuntu中怎么部署vue项目”的疑惑有所帮助!...
    99+
    2023-07-04
  • Linux下怎么部署vue项目
    本文小编为大家详细介绍“Linux下怎么部署vue项目”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux下怎么部署vue项目”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.部署Nginx请参考Linux...
    99+
    2023-06-28
  • nginx下怎么部署vue项目
    本篇内容主要讲解“nginx下怎么部署vue项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx下怎么部署vue项目”吧!首先要去nginx官网下下载n...
    99+
    2022-10-19
  • 如何实现Docker部署vue项目
    这篇文章主要介绍“如何实现Docker部署vue项目”,在日常操作中,相信很多人在如何实现Docker部署vue项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现Do...
    99+
    2022-10-19
  • Vue项目部署到jenkins的实现
    目录服务器配置环境配置到jenkins上看看jenkins干了什么服务器配置环境 需要安装yarn命令,但是yarn是通过npm安装的,所以要先安装npm,npm又是node附带的,...
    99+
    2022-11-13
  • SpringBoot实现动态配置及项目打包部署上线
    写在前面 🍁个人主页:微枫Micromaple ✨本期专栏:《0到1项目搭建》欢迎订阅学习~ 📌源码获取:GitCode、GitHub、码云Gitee 持续更新...
    99+
    2023-09-04
    spring boot java spring linux 后端
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作