Vue2打包部署后動態修改后端接口地址的解決方法

文章目錄

  • 前言
  • 一、背景
  • 二、解決方法
    • 1.在public文件夾下創建config文件夾,并創建config.js文件
    • 2.編寫config.js內容
    • 3.在index.html中加載config.js
    • 4.在封裝axios工具類的js中修改配置
  • 總結


前言

本篇文章將介紹使用Vue2開發前后端分離項目時,前端打包部署后可動態修改后端接口地址的解決方法。


一、背景

在前后端開發過程中,大家往往使用的是前后端分離模式進行開發,最終部署服務器也分開進行部署,因為前后端分離,前端要訪問到后端接口需要將后臺的接口地址打包到前端項目中,但是面對多變復雜的環境時,我們不能僅僅因為需要改個接口地址就得重新打包,上傳部署,比較麻煩,而且我們如果給客戶部署使用的時候還得提前獲取到客戶要部署服務的IP地址,或者就得帶著電腦,獲取到客戶的信息后,隨時打包部署,這樣不僅不夠專業,也比較麻煩,所以我們需要前端項目打包后,可動態配置后端接口地址且不影響前端功能的方法。

二、解決方法

以下介紹一種通過讀取配置js的方式實現,打包后動態修改IP的方法步驟,如下:

1.在public文件夾下創建config文件夾,并創建config.js文件

在這里插入圖片描述

2.編寫config.js內容

const config = {// 配置的后端接口地址"BaseUrl":"http://127.0.0.1:8080",// 配置的開關按鈕,是否讀取當前配置文件"switch": false
}

3.在index.html中加載config.js

打開public 文件夾下的 index.html文件,然后在head 標簽中添加 以下代碼:

<script type="text/javascript" src="/config/config.js"> </script>

如果你的config.js位置與我的不同,一定要修改引用地址。不要寫錯引用地址,不然會報錯,我當時因為多寫了個public路徑結果卡在這個問題上了1個小時。

4.在封裝axios工具類的js中修改配置

我們axios是封裝到一個request.js中了,就是放到 axios.create({}) 前面設置獲取 config.js中配置后端接口地址的邏輯即可。如下:
在這里插入圖片描述

// 開關,是否使用配置文件中配置的接口地址
var switch1 = config.switch
// 默認使用 env環境中設置的接口地址
var baseUrl = process.env.VUE_APP_BASE_API
// 判斷是否使用配置文件中的接口地址
if(switch1){// 開關開啟,替換接口地址baseUrl = config.BaseUrl
}const service = axios.create({// 設置后端請求接口地址baseURL:baseUrl
})

至此完成代碼部分的編寫,后續測試的話,可以通過打包命令,打包完成后到dist文件夾下,修改config文件夾下的 config.js進行后端接口的動態修改了。
dist打包后的目錄是這個樣子的:
在這里插入圖片描述


總結

到此這篇關于vue打包后修改配置后端接口地址的方法就介紹到這了。還有其他的方式也能修改,我用過其他產品,是在打包后的index.html中的script標簽中直接寫后端接口地址的,后續有時間會接著更新其他方法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43812.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43812.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43812.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系統架構師考點--系統安全

大家好。今天我來總結一下系統安全相關的考點&#xff0c;這類考點每年都會考到&#xff0c;一般是在上午場客觀題&#xff0c;占2-4分。 一、信息安全基礎知識 信息安全包括5個基本要素&#xff1a;機密性、完整性、可用性、可控性與可審查性 (1)機密性&#xff1a;確保信息…

Navicat導入sql文件

文章目錄 Navicat導入SQL文件&#xff0c;使用默認導入&#xff0c;不做任何修改報錯嘗試一修改運行時的選擇 嘗試二修改my.ini的配置文件 Navicat導入SQL文件&#xff0c;使用默認導入&#xff0c;不做任何修改報錯 嘗試一 修改運行時的選擇 取消勾選 ‘每個運行中運行多重查…

C++ 判斷語句的深入解析

C++ 判斷語句的深入解析 C++ 是一種廣泛使用的編程語言,以其高效性和靈活性著稱。在 C++ 中,判斷語句是控制程序流程的關鍵組成部分,它們允許程序根據不同的條件執行不同的代碼路徑。本文將深入探討 C++ 中的判斷語句,包括 if、else if、else 以及 switch 語句,并展示如何…

3,區塊鏈加密(react+區塊鏈實戰)

3&#xff0c;區塊鏈加密&#xff08;react區塊鏈實戰&#xff09; 3.1 哈希3.2 pow-pos-dpos3.3非對稱加密&#xff08;1&#xff09;對稱加密AES&#xff08;2&#xff09;非對稱加密RSA 3.4 拜占庭將軍3.5 P2P網絡3.6 區塊鏈 3.1 哈希 密碼學&#xff0c;區塊鏈的技術名詞 …

在Spring Boot項目中集成單點登錄解決方案

在Spring Boot項目中集成單點登錄解決方案 大家好&#xff0c;我是微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在現代的企業應用中&#xff0c;單點登錄&#xff08;Single Sign-On, SSO&#xff09;解決方案是確保用戶…

【Git的基本操作】版本回退 | 撤銷修改的三種情況 | 刪除文件

目錄 5.版本回退 5.1選項hard&后悔藥 5.2后悔藥&commit id 5.3版本回退的原理 6.撤銷修改 6.1情況一 6.2情況二 6.3情況三 ?7.刪除文件 Git重要能力之一馬&#xff0c;版本回退功能。Git是版本控制系統&#xff0c;能夠管理文件歷史版本。本篇以ReadMe文件為…

神器!3個免費PPT成品網站推薦+3款AIPPT工具盤點!

熬夜加班做PPT卻沒有頭緒&#xff1f;別再自己憋著想了&#xff01;現在凡事主打一個“抄作業”&#xff0c;想做ppt卻沒想法&#xff0c;可以去到ppt成品網站搜集PPT模板&#xff0c;或是使用時下流行的AI生成PPT工具&#xff0c;只需輸入PPT主題&#xff0c;即可快速生成一份…

全網最詳細的CRC講解即計算

CRC 循環冗余碼&#xff08;Cyclic Redundancy Code&#xff0c; CRC&#xff09;是一種用于校驗通信鏈路上數字傳輸準確性的計算方法&#xff08;通過某種數學運算來建立數據位和校驗位(CRC)的約定關系的&#xff09;。它是利用除法以及余數的原理來作錯誤偵測。 發送方: 使用…

客戶關系管理怎么做?這4個工具一定要會用!

在商海浮沉中&#xff0c;每一位企業家和銷售經理都深知&#xff0c;客戶是企業生存與發展的基石。但如何有效管理這些寶貴的資源&#xff0c;讓每一次互動都成為加深關系、促進成交的契機&#xff0c;卻是一門藝術加科學的結合體。今天&#xff0c;咱們就來聊聊客戶關系管理&a…

3SRB5016-ASEMI逆變箱專用3SRB5016

編輯&#xff1a;ll 3SRB5016-ASEMI逆變箱專用3SRB5016 型號&#xff1a;3SRB5016 品牌&#xff1a;ASEMI 封裝&#xff1a;SGBJ-5 批號&#xff1a;2024 現貨&#xff1a;50000 最大重復峰值反向電壓&#xff1a;1600V 最大正向平均整流電流(Vdss)&#xff1a;50A 功…

CNN -1 神經網絡-概述

CNN -1 神經網絡-概述 一:芯片科技發展介紹了解1> 芯片科技發展趨勢2> 芯片使用領域3> 芯片介紹1. 神經網絡芯片2. 神經網絡處理單元NPU(Neural Processing Unit)二:神經網絡1> 什么是神經網絡2> 神經元3> 人工神經網絡三:卷積神經網絡(CNN)入門講解一…

【Spring】springSecurity使用

一、基本配置 1. 引入依賴 在Spring Boot項目中&#xff0c;使用Spring Security首先需要引入相應的依賴。在pom.xml中添加spring-boot-starter-security依賴&#xff1a; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>…

Kodcloud可道云安裝與一鍵發布上線實現遠程訪問詳細教程

文章目錄 1.前言2. Kodcloud網站搭建2.1. Kodcloud下載和安裝2.2 Kodcloud網頁測試 3. cpolar內網穿透的安裝和注冊4. 本地網頁發布4.1 Cpolar云端設置4.2 Cpolar本地設置 5. 公網訪問測試6.結語 1.前言 本文主要為大家介紹一款國人自研的在線Web文件管理器可道云&#xff0c;…

唐劉:當 SaaS 愛上 TiDB(一)- 行業挑戰與 TiDB 的應對之道

導讀 在 TiDB 8.1 發布后&#xff0c;TiDB 展現了強大的支持 SaaS 業務的能力&#xff0c;成為 SaaS 業務數據庫的優先選擇之一。 本文為“當 SaaS 愛上 TiDB”系列文章的第一篇&#xff0c;系列文章將從技術原理和真實用戶體驗兩個角度深入探討 TiDB 在 SaaS 業務中的表現&a…

qt gridlayout 應用舉例

Qt的GridLayout是一種非常有用的布局管理器&#xff0c;它允許你在一個網格中放置控件&#xff0c;這樣你就可以創建出結構清晰、布局整齊的用戶界面。下面是一個使用GridLayout的簡單例子&#xff0c;展示了如何在一個窗口中放置幾個按鈕。 #include <QApplication> …

太速科技-3U VPX飛騰處理器刀片計算機

3U VPX飛騰處理器刀片計算機 一 、產品概述 該產品是一款基于國產飛騰FT2000 4核或騰銳D2000 8核的高性能3U VPX刀片式計算機。產品提供了4個x4 PCIe 3.0總線接口&#xff0c;同時可配置為1個x16或2個x8 PCIe3.0接口&#xff0c;因此具有很強的擴展性&#xff0c;極大…

agents 分類

一、分類 自動agent、半自動agent、領域、自定義sop和支持人為干預的agent。 先潑個冷水&#xff0c;目前這些agent項目都是實驗品&#xff0c;發展還沒有做知識庫問答相關開源項目那么成熟&#xff0c; 二、全自動agent autoGPT、loopGPT、babyAGI 全自動agent就是人類不可…

sizeof()

一、題目 *struct T { char a; int *d; int b; int c:16; double e; }; T *p; 在64位系統以及64位編譯器下&#xff0c;以下描述正確的是 A: sizeof 24 B: sizeof(p) 24 C: sizeof(p->a) 1 D: sizeof(p->e) 4 二、解析 p是一個指針&#xff0c;指針在32位機器上是…

GEE數據集——全球Ookla 5G 基站地圖數據(Ookla 5G Map Data)

Ookla 5G Map Data Ookla 5G 地圖數據 Ookla 5G Map? 于 2019 年 5 月推出,旨在全面展示 5G 技術在全球的擴展情況。在推出之初,該地圖突出顯示了 17 個國家的 300 項部署,說明了這一變革性技術的初步推廣情況。隨著時間的推移,該地圖已大幅增長,現在包含了來自 142 個…

實例演示Kafka-Stream消息流式處理流程及原理

以下結合案例&#xff1a;統計消息中單詞出現次數&#xff0c;來測試并說明kafka消息流式處理的執行流程 Maven依賴 <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId><exclusio…