章節連結
由於 Nuxt3 上對於 public 的圖片路徑,常會因本機開發端和遠端不同而有所差異。這邊筆記下兼容兩者的方法,同時也讓維運人員要抽換圖片仍能保持方便。
內容
為何不使用 import
import 的引入方式,佈署後若要更換圖片,就得 build 出新的檔案 + 流水號來重新上版。這不如更換專案根目錄下的檔案方便,也無須重新命名,可搭配 nginx 等工具設定快取清除即可
想法
引入的路徑都用 /**/* 的格式,然後再搭配 env 環境變數。當環境不是 local 本機端時,產出的路徑前方要加上一個 “.”。這樣一來瀏覽器解析就會是該遠端佈署資料夾下找檔案了
程式碼
1 2 |
export const addDotBeforeUrl = ({ str, addDot = false }: { str: string; addDot: boolean }) => addDot ? `.${str}` : str |