vue3動態(tài)修改打包后的請求路徑的操作代碼
在工作中多多少少會遇到這種情況:項目打包之后,可以再次修改請求后端接口的基礎地址。這就需要我們創(chuàng)建一個靜態(tài)資源里的外部文件來實現了。
具體操作實現
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' }, //生產環(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生產環(huán)境中的路徑修改便可實現動態(tài)修改請求路徑
補充:vue打包之后動態(tài)修改請求接口方法
1.可以根據自身情況封裝獲取配置文件接口信息
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) ?? ?// 每次切換頁面時,調用進度條 ?? ?NProgress.start(); ?? ?Vue.http.get(service_url + url,{params:req}, { ?? ??? ?emulateJSON: true, //允許跨越 ?? ?}).then(function(response) { ?? ??? ?// 在即將進入新的頁面組件前,關閉掉進度條 ?? ??? ?NProgress.done() ?? ??? ?// 響應成功回調 ?? ??? ?successCallback && successCallback(response.data); ?? ?}, function(error) { ?? ??? ?// 在即將進入新的頁面組件前,關閉掉進度條 ?? ??? ?NProgress.done() ?? ??? ?// 響應錯誤回調 ?? ??? ?errorCallback && errorCallback(error) ?? ?}); }
到此這篇關于vue3動態(tài)修改打包后的請求路徑的文章就介紹到這了,更多相關vue3打包后請求路徑內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vite+vue3項目解決低版本兼容性問題解決方案(Safari白屏)
這篇文章主要介紹了vite+vue3項目解決低版本兼容性問題(Safari白屏),使用官方插件 @vitejs/plugin-legacy 為打包后的文件提供傳統(tǒng)瀏覽器兼容性支持,本文給大家介紹的非常詳細,需要的朋友可以參考下2024-03-03uniapp-vue3-彈出選擇組件wo-pop-selector使用示例
wo-pop-selector彈出選擇組件采用uniapp-vue3實現, 支持H5、微信小程序,本文給大家介紹uniapp-vue3-彈出選擇組件wo-pop-selector及使用示例,感興趣的朋友一起看看吧2023-10-10詳解vue2.0的Element UI的表格table列時間戳格式化
本篇文章主要介紹了詳解vue2.0的Element UI的表格table列時間戳格式化,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-06-06