欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue項(xiàng)目打包后怎樣優(yōu)雅的解決跨域

 更新時(shí)間:2019年05月26日 08:16:47   作者:不一  
這篇文章主要介紹了vue項(xiàng)目打包后怎樣優(yōu)雅的解決跨域,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

在使用vue.js開發(fā)前端項(xiàng)目時(shí),再結(jié)合webpack搞起各種依賴、各種插件進(jìn)行開發(fā),無疑給前端開發(fā)帶來了很多便捷,就在解決跨域這個(gè)問題上,相信眾多用vue.js的前端同僚們同我一樣嘗到了甜頭,開發(fā)環(huán)境全靠proxyTable一通配置簡直不要太酸爽。還不明所以然的新手們可能還沒搞清我說的是什么,就是下面這幾行配置:

proxyTable: {
   '/api': {
    target: 'http://113.113.113.113:5000', //假的接口地址哈
    changeOrigin: true,
    pathRewrite: {
     '^/api': ''
    }
   },

我們的跨域竟然就這樣完美的解決了,然后就開始愉快的請(qǐng)求后端的接口啦!!

回到正題

具體場景:公司的一個(gè)h5項(xiàng)目是部署在客戶端的,但是部署后出現(xiàn)bug了,由于多人協(xié)同開發(fā)且趕進(jìn)度竟然是打包后因?yàn)镃SS的問題多個(gè)頁面布局亂了,但是開發(fā)環(huán)境并沒有問題啊,怎么打完包樣式就亂了?那就打開dist下的index.html看看唄,復(fù)現(xiàn)一下bug,想都不用想,頁面沒數(shù)據(jù)怎么復(fù)現(xiàn),再去造一套假數(shù)據(jù)?作為一個(gè)不喜歡這樣折騰的人必然是不想做這種事情的。

就不勞煩后端了,咱自己解決!

nginx 還是要會(huì)一些些的,自己配置一下,分分鐘解決,哈哈!

server {
    listen    8082;
    server_name 127.0.0.1; //咱自己nginx服務(wù)器地址

    #charset koi8-r;

    #access_log logs/host.access.log main;

    location / {
      root  html;
      index index.html index.htm;
    }
  location /app-api {
      rewrite ^.+app-api/?(.*)$ /$1 break;
      include uwsgi_params;
      proxy_pass  http://113.113.113.113:5001/; //后端接口地址
      //關(guān)鍵部分start
      add_header Access-Control-Allow-Origin *;
      add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
      add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,token';
      //關(guān)鍵部分end
      //以下配置參見nginx配置文檔哈
      #Proxy Settings
      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  Connection    close;
      proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
      proxy_max_temp_file_size 0;
      proxy_connect_timeout   90;
      proxy_send_timeout     90;
      proxy_read_timeout     90;
      proxy_buffer_size     4k;
      proxy_buffers       4 32k;
      proxy_busy_buffers_size  64k;
      proxy_temp_file_write_size 64k;
    }
}

目的是把后端接口用 nginx 再代理一遍,咱自己用 nginx 間接允許一下跨域請(qǐng)求!

start nginx //在nginx目錄啟動(dòng)服務(wù)

通常我們會(huì)做一個(gè)統(tǒng)一的管理接口的js文件,如下形式

var BASE_URL = '/api';
var isPro = process.env.NODE_ENV === 'production'
if(isPro){
 BASE_URL= 'http://113.113.113.113:5000', //線上或者測試地址
 //BASE_URL= 'http://127.0.0.1:8020', //nginx代理地址
 //當(dāng)我們需要打包后依然能正常調(diào)接口的時(shí)候用這個(gè)  
}
const UrlConfig = {
 getToken:BASE_URL + "某接口"
}
export default {
 UrlConfig
};

至此,就把打包后接口跨域的問題優(yōu)雅的解決啦。

結(jié)語

因?yàn)楣镜那昂蠖隧?xiàng)目通常都放在同一臺(tái)服務(wù)器,或者不在同一臺(tái)服務(wù)器的時(shí)候跨域也是靠后端的同志們?nèi)ソ鉀Q的,所以很少在生產(chǎn)環(huán)境中靠前端解決跨域的這項(xiàng)需求。不過我分享的這個(gè)小技巧也只適用于以上類似場景中,歸根結(jié)底還是要在多人協(xié)同開發(fā)的過程中提前規(guī)劃好公共以及個(gè)人的編程規(guī)范,盡量保證開發(fā)環(huán)境和生產(chǎn)環(huán)境是一致的,就可以擺脫很多類似的問題。

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue+element樹形選擇器組件封裝和使用方式

    vue+element樹形選擇器組件封裝和使用方式

    這篇文章主要介紹了vue+element樹形選擇器組件封裝和使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2020-04-04
  • vue3中引入svg矢量圖的實(shí)現(xiàn)示例

    vue3中引入svg矢量圖的實(shí)現(xiàn)示例

    在項(xiàng)目開發(fā)過程中,我們經(jīng)常會(huì)用到svg矢量圖,本文主要介紹了vue3中引入svg矢量圖的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • vue-router傳參的四種方式超詳細(xì)講解

    vue-router傳參的四種方式超詳細(xì)講解

    這篇文章主要介紹了vue-router傳參的四種方式超詳細(xì),有router-link路由導(dǎo)航方式傳參,調(diào)用$router.push實(shí)現(xiàn)路由傳參,通過路由屬性name匹配路由,再根據(jù)params傳遞參數(shù)等等,結(jié)合示例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • vue實(shí)現(xiàn)錄音功能js-audio-recorder帶波浪圖效果的示例

    vue實(shí)現(xiàn)錄音功能js-audio-recorder帶波浪圖效果的示例

    這篇文章主要介紹了vue實(shí)現(xiàn)錄音功能js-audio-recorder帶波浪圖效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 解決vue更新路由router-view復(fù)用組件內(nèi)容不刷新的問題

    解決vue更新路由router-view復(fù)用組件內(nèi)容不刷新的問題

    今天小編就為大家分享一篇解決vue更新路由router-view復(fù)用組件內(nèi)容不刷新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue2.x Todo之自定義指令實(shí)現(xiàn)自動(dòng)聚焦的方法

    Vue2.x Todo之自定義指令實(shí)現(xiàn)自動(dòng)聚焦的方法

    我們希望用戶雙擊 todo 進(jìn)入編輯狀態(tài)后輸入框自動(dòng)獲取焦點(diǎn),而不是需要先手動(dòng)點(diǎn)一下。這篇文章主要介紹了Vue 2.x Todo之自定義指令實(shí)現(xiàn)自動(dòng)聚焦,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2019-01-01
  • Vue如何動(dòng)態(tài)改變列表搜索出關(guān)鍵詞的字體顏色

    Vue如何動(dòng)態(tài)改變列表搜索出關(guān)鍵詞的字體顏色

    這篇文章主要介紹了Vue如何動(dòng)態(tài)改變列表搜索出關(guān)鍵詞的字體顏色問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue項(xiàng)目部署自動(dòng)清除緩存方式

    vue項(xiàng)目部署自動(dòng)清除緩存方式

    這篇文章主要介紹了vue項(xiàng)目部署自動(dòng)清除緩存方式,包括清除文件緩存,清除瀏覽器 localStorage 緩存方式,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Vue Build后的項(xiàng)目的根路徑配置方式

    Vue Build后的項(xiàng)目的根路徑配置方式

    這篇文章主要介紹了Vue Build后的項(xiàng)目的根路徑配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue頁面引入three.js實(shí)現(xiàn)3d動(dòng)畫場景操作

    vue頁面引入three.js實(shí)現(xiàn)3d動(dòng)畫場景操作

    這篇文章主要介紹了vue頁面引入three.js實(shí)現(xiàn)3d動(dòng)畫場景操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評(píng)論