中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Vue中配置多環境代理

發布時間:2021-05-25 16:50:33 來源:億速云 閱讀:195 作者:Leah 欄目:web開發

怎么在Vue中配置多環境代理?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

解決思路:

1.開發中定義常量js文件,例如constants.js。用戶存放各個服務需要代理的服務名。

let api = ""
  let loginServer = "/loginServer"
  let businessServer = "/businessServe"
  if(process.env.NODE_ENV == "development"){
    api = "/api"
    loginServer = api + LoginServer
    businessServer = api + businessServer
  }
  export {
    loginServer,
    businessServer
  }

其中api為代理規則中配置,loginServer為服務名,可根據業務需要替換在實際的業務中就可以這么用

import {loginServer} from 'constants'
 function login(params){
  return axios.post(loginServer+"/login",params)
 }

其中 loginServer為服務名,login為方法名,params為參數。

在vue.config.js中配置代理

modules.exports = {
  publicPath:"/" ,
  devServer: {
    port: 8080,
    proxy:{
     '/api/loginServer':{
       target:"http://localhost:8080",
       ws:true,
       changeOrigin:true,
       pathRewrite:{
         '^/api':'/'
       }
     },
      '/api/businessServer':{
       target:"http://localhost:8081",
       ws:true,
       changeOrigin:true,
       pathRewrite:{
         '^/api':'/'
       }
     }
    }
  }
}

這么配置可以滿足需求,但是會有多人改動vue.config.js的情況,造成以上說的錯誤。

解決方案:

vue中提供了 --mode 模式,并提供了 .env.local 等文件,此文件被git忽略,且可根據當前 mode設置的值尋找環境變量配置,例如 --mode=dev ,則.env.dev.local 或.env.dev 等文件中的配置會生效,.local文件會被git忽略,因此咱們用這個,--mode設置在 package.json中,在npm run serve 中添加

script:{
"serve":"vue-cli-service serve --mode=dev"
}

在項目根目錄下jianli .env.dev.local文件,文件中添加 以下鍵值對(此文件中只接受鍵值對

.env.dev.local

loginServerURL =http://localhost:8080
businessServerURL = http://localhost:8081

當然可根據不同的模式建立不同的local文件

.env.prod.local等

vue.config.js中改寫

modules.exports = {
  publicPath:"/" ,
  devServer: {
    port: 8080,
    proxy:{
     '/api/loginServer':{
       target:process.env.loginServerURL?process.env.loginServerURL:"httpL//localhost:8080",
       ws:true,
       changeOrigin:true,
       pathRewrite:{
         '^/api':'/'
       }
     },
      '/api/businessServer':{
       target:process.env.loginServerURL?process.env.businessServerURL :"http://localhost:8081",
       ws:true,
       changeOrigin:true,
       pathRewrite:{
         '^/api':'/'
       }
     }
    }
  }
}

Vue的優點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

關于怎么在Vue中配置多環境代理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

含山县| 华坪县| 平潭县| 神农架林区| 平陆县| 滦平县| 石屏县| 华坪县| 谢通门县| 永州市| 南雄市| 台北县| 郴州市| 乌拉特后旗| 丹凤县| 景宁| 东丰县| 定陶县| 德格县| 东乡族自治县| 莱州市| 云龙县| 正镶白旗| 铅山县| 原阳县| 阳信县| 广昌县| 沙河市| 乌鲁木齐县| 哈巴河县| 东丽区| 宜良县| 屏山县| 沅江市| 固安县| 怀集县| 大荔县| 图们市| 盱眙县| 徐闻县| 洛扎县|