vue3動態(tài)修改打包后的請求路徑的操作代碼
在工作中多多少少會遇到這種情況:項目打包之后,可以再次修改請求后端接口的基礎地址。這就需要我們創(chuàng)建一個靜態(tài)資源里的外部文件來實現(xiàn)了。
具體操作實現(xiàn)
public 文件夾就是存放那些不需要打包的文件,可以直接訪問(靜態(tài)資源),在puclic目錄下新增config.js文件
window.g = {
// 開發(fā)環(huán)境
development: {
BASEURL: 'http://127.0.0.1:4000',
VERSION: '0.0.1',
MODE: 'development',
NODE_ENV: 'development'
},
//生產(chǎn)環(huán)境
production: {
BASEURL: 'http://127.0.0.1:8002',
VERSION: '0.0.1',
MODE: 'production',
NODE_ENV: 'production'
}
}
在index.html引入該文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" href="/src/assets/image/title.ico" rel="external nofollow" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>xxx</title> </head> <body> <div id="app"></div> <script type="module" src="/src/main.ts"></script> <script src="/config.js"></script> </body> </html>
在封裝的請求文件中對請求路徑進行環(huán)境判斷
import http from "../utils/http";
const baseUrl = () => {
return process.env.NODE_ENV === "development"
? (window as any).g.development.BASEURL + "/api"
: (window as any).g.production.BASEURL;
};
/**
* @description: 預案
* */
// 預案列表
export const getPlanList = () => {
return http.get(`${baseUrl()}/api/plan/list`);
};
打包項目后的dist目錄

我們只需對config.js 中production生產(chǎn)環(huán)境中的路徑修改便可實現(xiàn)動態(tài)修改請求路徑
補充:vue打包之后動態(tài)修改請求接口方法
1.可以根據(jù)自身情況封裝獲取配置文件接口信息
1.1我在static中新建一個config.json配置文件
{
?? ?"DEV_URL":"/apis",//開發(fā)模式
?? ?"BUILD_URL": "/apis"http://打包之后接口
}2.我在每次請求之前都會獲取配置文件,你也可以只獲取一次做下判斷即可
//獲取配置文件
async function startApp() {
?? ?let API_URL
?? ?if(process.env.NODE_ENV=='development'){
?? ??? ?let data=await Vue.http.get('/static/config.json')
?? ??? ?API_URL=JSON.parse(data.bodyText).DEV_URL
?? ?}else{
?? ??? ?let data=await Vue.http.get('./static/config.json')
?? ??? ?API_URL=JSON.parse(data.bodyText).BUILD_URL
?? ?}
?? ?return API_URL
}3.我封裝的請求接口
async function doGet(url, req, successCallback, errorCallback) {
?? ?let service_url=await startApp()?
?? ?req=filterUndefined(req)
?? ?// 每次切換頁面時,調(diào)用進度條
?? ?NProgress.start();
?? ?Vue.http.get(service_url + url,{params:req}, {
?? ??? ?emulateJSON: true, //允許跨越
?? ?}).then(function(response) {
?? ??? ?// 在即將進入新的頁面組件前,關閉掉進度條
?? ??? ?NProgress.done()
?? ??? ?// 響應成功回調(diào)
?? ??? ?successCallback && successCallback(response.data);
?? ?}, function(error) {
?? ??? ?// 在即將進入新的頁面組件前,關閉掉進度條
?? ??? ?NProgress.done()
?? ??? ?// 響應錯誤回調(diào)
?? ??? ?errorCallback && errorCallback(error)
?? ?});
}到此這篇關于vue3動態(tài)修改打包后的請求路徑的文章就介紹到這了,更多相關vue3打包后請求路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于vue-simplemde實現(xiàn)圖片拖拽、粘貼功能
這篇文章主要介紹了基于vue-simplemde實現(xiàn)圖片拖拽、粘貼功能,需要的朋友可以參考下2018-04-04
vue?eslint報錯error?"Component?name?"*****"
這篇文章主要給大家介紹了關于vue?eslint報錯error?“Component?name?“*****“?should?always?be?multi-word”的解決方法,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
vue在index.html中引入靜態(tài)文件不生效問題及解決方法
這篇文章主要介紹了vue在index.html中引入靜態(tài)文件不生效問題及解決方法,本文給大家分享兩種原因分析,通過實例代碼講解的非常詳細 ,需要的朋友可以參考下2019-04-04

