vue中使用proxy配置不同埠和ip介面

来源:https://www.cnblogs.com/xueZ/archive/2019/08/13/11347765.html
-Advertisement-
Play Games

問題描述: 使用vue-cli創建的項目,開發地址是localhost:8080,由於後臺開發不同的模塊,導致每個模塊請求的ip和埠號不一致 例如:http://192.168.10.22:8081 或者 http://192.168.10.30:9999等 解決問題: 在vue.config.j ...


問題描述:

  使用vue-cli創建的項目,開發地址是localhost:8080,由於後臺開發不同的模塊,導致每個模塊請求的ip和埠號不一致

  例如:http://192.168.10.22:8081  或者 http://192.168.10.30:9999等

解決問題:

  在vue.config.js中配置不同的埠號

  module.exports = {

    publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
    devServer: {
        open: true,
        proxy: {
            '/monitor': {                          // 配置的變數
                target: 'http://192.168.10.30:9999',          // 需要請求的第三方介面
                changeOrigin: true,                    // 開啟代理:
                                                在本地會創建一個虛擬伺服器,然後發送請求,並同時接收請求,
                                                這樣服務端和服務端進行交互就不會有跨域問題
pathRewrite: {                       // 這裡重寫路徑,如果monitor本身不存在介面路徑中,一定要寫成空!!!
'^/monitor': '' }, ws: false } } } }

 

在調用該介面的時候,需要寫上'/monitor/'

export const getDictionary = ((params) => {
    return _axios({
        url:  '/monitor/keypersonnel/getDictionaryForType',
        method: 'post',
        data: params
    })
})

備註:proxy代理只在本地測試的開發環境有效,在部署到線上的時候應該怎麼區分呢

問題:

  若項目中不同模塊請求不同ip和埠的介面,應該怎麼設為可配置的呢,後端可以修改的,避免由於介面問題導致的不斷的打包上線

   思路一:在public目錄下放置json文件,配置的時候,去讀取json文件

<template>
  <div class="er">
    <el-scrollbar style="height:100%">
      <div class="ds">
        <img
          class="sdde"
          :src='`${publicPath}imges/but_play.png`'
        >
      </div>
    </el-scrollbar>
  </div>
</template>

<script>
export default {
  data() {
    return {
      publicPath: process.env.BASE_URL
    }
  },
  components: {
  }

}
</script

  結果: 失敗!給圖片的src賦值成功,但是在create中按照同樣的方法去require這個json文件,還是報路徑錯誤

  思路二: 在public中新建js文件,在js文件中,將地址掛載到window上,併在index的html文件中引入

 

// 配置線上的請求地址
window.serverUrl = {
    publicSentiment: 'http://192.168.10.22:8081',                       // 輿情分析
    monitor: 'http://192.168.70.6:9999'                                 // 重點人員監控
}

 

  結果:成功!

 

    

 

 

 

 

 

 

 

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 開心一刻 一個中國小孩參加國外的脫口秀節目,因為語言不通,於是找了一個翻譯。 主持人問:“Who is your favorite singer ?” 翻譯:”你最喜歡哪個歌手啊 ?” 小孩興奮地回答:”Michael Jackson” 翻譯轉身對主持人說:”邁克爾-傑克遜” 主持人看著翻譯: ...
  • 今天給大家講一下MaterialApp應用組件及routes路由詳解,我會著重說一下routes路由的使用及解釋,因為會經常用到,前面我寫的一些demo所涉及到的組件,都是遵循著Material Design設計風格,所謂的Material Design是由Goodle推出的全新的設計語言,這種設計... ...
  • 在smobiler中可以通過相對佈局或者絕對佈局實現自適應不同手機解析度。例如實現下圖中的佈局,圖中的佈局實際可以分成3個部分,部分1可以使用Title控制項,部分2可以使用Panel(在Panel中加入IconMenuView可以實現圖中效果,本文不具體說明),部分3 使用ToolBar控制項,具體見... ...
  • 還有一種簡單的扁平化實現方法,但不太推薦: 這樣就實現了該功能,有沒有其他方法也能實現該功能? 該方法是查閱得到,通過遞歸使數組扁平化,無需擔心瀏覽器不支持flat的使用,結尾的方法調用個人非常喜歡 ...
  • 概覽 mediaDevices 是 Navigator 對象的只讀屬性,一個單列對象,可以連接訪問相機和麥克風,屏幕共用等媒體輸入設備 方法 enumerateDevices 請求一個可用的媒體輸入和輸出設備列表,如麥克風、相機、耳機等。返回的 完成狀態中是一個帶有 "MediaDeviceInfo ...
  • 原型鏈 對象 對象: 1,函數對象:有function創造出來的函數 2,普通對象:除開函數對象之外的對象,都是普通對象 即普通對象obj是構造函數Object的一個實例,因此: obj.__proto__ === Object.prototype ` 但凡通過new Function()創建 的對 ...
  • 一、swich case判斷語句eg // 只有exp和值1或值2類型相同時,才能執行,否則會跳到default關鍵字處,執行對應代碼段; 註:default關鍵字:規定不存在 case 匹配時所運行的代碼。 二、if else if 註:if中條件可以是有多個,用&&或||隔開; 三、if els ...
  • 迴圈語句分類{ for while do ( ) while } 一、for迴圈語句和for迴圈的嵌套 for迴圈格式eg: 表達式“i=1”共運行1次,在迴圈之前運行; 表達式“i<=100”是判斷能否滿足執行迴圈體的條件,如果滿足,迴圈多少次就執行多少次,不滿足時跳出迴圈體; 表達式“i++”進 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...