日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue項目打包部署跨域的實現步驟

瀏覽:241日期:2022-06-09 14:14:42
目錄
  • 1.前端工程解決辦法
    • 1.1開發時候解決辦法
    • 1.2打包部署后解決辦法
  • 2.后端工程解決辦法

    跨源資源共享(CORS,或通俗地譯為跨域資源共享)是一種基于 HTTP 頭的機制,該機制通過允許服務器標示除了它自己以外的其他源(域、協議或端口),使得瀏覽器允許這些源訪問加載自己的資源。跨源資源共享還通過一種機制來檢查服務器是否會允許要發送的真實請求,該機制通過瀏覽器發起一個到服務器托管的跨源資源的“預檢”請求。在預檢中,瀏覽器發送的頭中標示有 HTTP 方法和真實請求中會用到的頭。跨源 HTTP 請求的一個例子:運行在 https://domain-a.com 的 JavaScript 代碼使用 XMLHttpRequest 來發起一個到 https://domain-b.com/data.json 的請求(也就是vue的axios,或者JQuery的ajax請求)。

    出于安全性,瀏覽器限制腳本內發起的跨源 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;
    @Configuration
    public 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;
    @Configuration
    public 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項目打包部署跨域的實現步驟的文章就介紹到這了,更多相關vue 打包部署跨域內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: JavaScript
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    欧美1区2区3| 日本电影久久久| 日韩视频二区| 黄色网一区二区| 国产精品15p| 国产日韩欧美高清免费| 丝袜美腿成人在线| 91高清一区| 成人精品视频| 黑人精品一区| 日韩欧美自拍| 国产欧美69| 国产福利资源一区| 欧美激情福利| 国产一区二区三区网| 亚洲精品永久免费视频| 99精品美女| 亚洲一区日韩在线| 日韩精品视频在线看| 国产精品一区亚洲| 麻豆视频在线观看免费网站黄 | 欧美91在线| 麻豆久久一区| 国产精品a级| 日韩精品dvd| 视频一区在线视频| 国产欧美啪啪| 激情欧美丁香| 亚洲18在线| 精品资源在线| 99pao成人国产永久免费视频 | 国产精品亚洲一区二区三区在线观看| 激情视频网站在线播放色 | 亚洲精品乱码久久久久久蜜桃麻豆| 日本午夜精品| 日韩一区电影| 91嫩草精品| 一区二区亚洲精品| 国产一区二区三区久久 | 欧美亚洲自偷自偷| 亚洲国产日韩欧美在线| 久久av网站| 一级欧美视频| 99国产精品一区二区| 国产精品久久久久久久免费软件 | 久色成人在线| 日韩精品电影| 在线视频亚洲欧美中文| 91精品二区| 精品网站999| 亚洲一区二区三区免费在线观看| 欧美视频二区| 久久精品欧美一区| 欧美在线看片| 中文国产一区| 水蜜桃精品av一区二区| 亚久久调教视频| 成人亚洲一区二区| 影音先锋久久精品| 麻豆精品蜜桃| 蜜桃久久久久久| 国产精品7m凸凹视频分类| 精品久久亚洲| 国产精品对白| 亚洲精品少妇| 欧美成人基地 | 国产精品日韩| 日韩伦理一区| 午夜电影一区| 91成人精品视频| 国产91欧美| 国产精品视频一区二区三区四蜜臂| 视频福利一区| 国产精品88久久久久久| 久久蜜桃精品| 久久人人精品| 久久久国产精品一区二区中文| 欧美日本不卡| 日韩欧美久久| 性色一区二区| 一本一道久久a久久精品蜜桃| 日韩中文欧美| 午夜av不卡| 精品三级久久| 国产伦精品一区二区三区视频| 日本亚洲不卡| 蜜桃视频一区二区三区在线观看| 亚洲天堂黄色| 九色porny丨国产首页在线| 97精品一区| 97精品国产福利一区二区三区| 精品视频97| 精品亚洲美女网站| 国产精品久久久久av电视剧| 免费一级欧美在线观看视频| 久久精品97| 国产精品久久久久久久久久久久久久久| 亚洲青青久久| 欧美在线不卡| 久久激情综合网| 国产精品啊v在线| 久久爱www.| 91嫩草亚洲精品| 精品久久影院| 日韩精品欧美| 亚洲欧美网站在线观看| 婷婷综合一区| 天堂日韩电影| 免费欧美在线视频| 三级在线观看一区二区| 一区二区日韩免费看| 日韩成人精品一区| 国产在线日韩| 在线精品一区二区| 国产精品一区三区在线观看| 不卡福利视频| 日本中文字幕一区二区视频| 精品久久久久中文字幕小说| 欧美高清一区| 卡一卡二国产精品| 另类亚洲自拍| 国产亚洲一区二区手机在线观看| 丝袜脚交一区二区| 天堂中文av在线资源库 | 亚洲我射av| 日本精品黄色| 欧美国产美女| 亚洲开心激情| 久久蜜桃精品| 久久不见久久见免费视频7| 亚洲免费激情| 久久中文字幕av一区二区不卡| 亚洲制服少妇| 久久国产电影| 国产农村妇女精品一二区| 老牛影视一区二区三区| 水蜜桃久久夜色精品一区| 综合一区二区三区| 久久久久久黄| 成午夜精品一区二区三区软件| 日韩精品成人在线观看| 久久xxxx精品视频| 亚洲天堂黄色| 日韩不卡视频在线观看| 国产精品久久久久久久久妇女| 国产免费播放一区二区| 亚洲欧美日韩一区在线观看| 99视频精品全国免费| 久久精品资源| 国产毛片精品| 国产精品啊v在线| 日韩欧美中文字幕一区二区三区 | 国产网站在线| 久久久水蜜桃av免费网站| 精品国产精品国产偷麻豆| 久久99影视| 成人黄色av| 日韩大片在线| 免费看av不卡| 性色一区二区| 日本va欧美va精品发布| 成人在线视频中文字幕| 亚洲激情婷婷| 精品一区二区三区四区五区| 精品国产精品国产偷麻豆| 国产黄色精品| av资源新版天堂在线| 毛片在线网站| 国产手机视频一区二区| 亚洲精品无播放器在线播放| 青青草伊人久久| 久久精品欧美一区| 日韩国产在线观看| 日韩av在线播放网址| 99在线|亚洲一区二区| 88久久精品| 国产精品美女久久久| 日本aⅴ免费视频一区二区三区| 久久久国产精品网站| 国产在视频一区二区三区吞精| 快she精品国产999| 精品欧美日韩精品| 亚洲精品一二三区区别| 91精品麻豆| 精品亚洲精品| 国产探花在线精品| 亚洲精品一二三区区别| 国产精品v亚洲精品v日韩精品| 欧美a级一区| 国产乱码精品一区二区亚洲| 久久精品一区二区不卡| 日韩在线电影| 精品亚洲精品| 日韩欧美三级| 亚洲人成高清| 国产高清一区| 捆绑调教日本一区二区三区| 亚洲一级淫片| 欧美日韩国产在线观看网站| 欧美日韩亚洲一区三区|