動態配置Vite的base選項


有的時候項目需要部署在服務器的子目錄下,這時就要根據開發環境或生產環境動態配置 vite.config.ts 中的 base 選項。
查看vscode的TS類型提示:

可以發現:defineConfig接收一個UserConfig對象,或者一個返回UserConfig對象的函數,這個函數接收一個ConfigEnv對象作為參數,ConfigEnv的類型聲明如下:

command 屬性一共有兩個值 buildserve,對應了 package.json 定義的腳本名稱,分別為構建生產版本和開啟開發服務。可以通過解構並判斷 command 的值,來動態給base賦值,代碼如下:

export default defineConfig(({ command }) => {
  // 根據command動態配置base
  let base: string
  if (command === 'build') {
    base = '/jxxt/'
  } else {
    base = '/'
  }

  // 返回 UserConfig
  return {
    base,
    ...{ otherOptions },
  }
})

這個時候就可以根據我們的命令動態配置 base 了。

PS: 也可以根據 ConfigEnv 中的 mode 屬性來判斷,但是這個屬性沒有類型約束,需要確定拼寫正確。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM