webpack dev server 相對路徑問題

2021-10-01 07:59:44 字數 1509 閱讀 7606

專案開發過程中(react 官方腳手架生成的工程),有乙個顯著的問題:每次打包部署到伺服器後,有時候發現 post 或 get 請求後方的位址不正確。原因很明顯:開發過程中連線的後台可能和實際部署的後台位址不一樣,大部分情況下,可能本地開發時,js 請求資料時伺服器位址是localhost或者127.0.0.1諸如此類,而實際打包並部署到伺服器上後,可能訪問的是10.1.1.1之類的其他位址。

所以有時候匆忙打包並且部署後發現不對又得重新打包一次。沒啥必要,而且這時候我想起來 springboot 就可以使用外面的配置檔案進行執行環境的調整。

與此同時,也有乙個困擾我的問題,有時候存在測試**和生產**衝突的問題。比如我要登入環境,那麼測試狀態下可能我可以直接省略判斷密碼的步驟直接進入,而實際打包測試的時候肯定不能忽略這些步驟。又如測試狀態下可能會log好多資訊,但是生產環境下必然要盡量少一些甚至沒有,但是實際打包測試的時候,由於看不到過程日誌,除錯有時候可能不是很方便。於是我想著有什麼可以整體控制除錯模式的方法。

由於想到springboot根據包外的配置方式,聯想到可以使用乙個全域性的變數來控制這些關鍵變數,並且在總入口檔案的最前方先引用乙個global全域性配置。。。哇,說到這裡我感覺好智障,我完全可以放到index.html進行初始化啊。。。沒啥子必要放到乙個單獨的模組裡啊喂。

現在想起來我的方式有點誤入歧途了。。蠢兮兮。不過還是記錄一下叭,我先在index.html中引入乙個global.js的全域性配置檔案,然後在前端工程中,使用乙個consts或其他的模組,優先匯出global中的變數:

// const.js

let globalv =

if(window.$myglobalv)

, globalv, window.$myglobalv);}

window.$myglobalv=globalv;

export

default globalv

之後再模組化工程中使用其他模組直接引用上面的consts模組即可。這樣在打包後如果只是位址不對或者想要直接除錯內容,直接更改全域性的控制變數:window.$myglobalv即可。

由於使用的是webpack-dev-server作為開發伺服器,發現實際上載index.html中通過相對路徑引入的global.js不能被正確載入,後來翻看webpack-dev-server的描述檔案時發現人家好像說不支援在入口檔案中使用相對路徑引入??嗯吶,先這麼記下了!

啊呀,我閒著沒事寫這個記錄的時候才想起來完全可以在index.html入口檔案中直接宣告全域性變數引數啊!!!**需要引入global.js!反正變數也不會很多。qaq

路徑詳解 絕對路徑,相對路徑,根相對路徑

路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...

絕對路徑 根相對路徑和文件相對路徑

相對路徑包括根相對路徑 site root 和文件相對路徑 document 兩種。根相對路徑 也稱相對跟目錄 的路徑以 開頭,路徑是從當前站點的根目錄開始計算。比如我們前面建的d盤myweb目錄就是名為 myweb 的站點,這時 index.htm 路徑,就表示檔案位置為d myweb index...

MFC CFileDialog 相對路徑

1 在mfc中想按照自己設定的路徑來開啟filedialog,其實cfiledialog有自己的變數 m ofn,該變數為openfilename的結構體,使用者可自己定義一些內容 例如 開啟窗體的名字 dlg.m ofn.lpstrtitle t 遙測載入 按照自己設定的路徑開啟dlg dlg.m...