環境變數 Quasar解決歷程: 解法一: 目前測試 quasar dev 預設就會吃到.env.development的環境變數(在本地只要改此.env.development 的內容即可方便於本地測試各種環境) 至於其他build的環境變數: ``` "dev": "quasar dev", "build:testing": "quasar build -e testing", "build:agent": "quasar build -e agent", "build:generalAgent": "quasar build -e generalAgent", "build:staging": "quasar build -e staging", ``` 原本理想下希望可以透過環境變數後墜-e 區分各個環境變數, 經測試後不可行 解法二: 給本地開發用: windows: set VITE_MODE=Agent && quasar dev OS: VITE_MODE=Agent quasar dev 在quasar.config.js ``` env: { VITE_MODE: process.env.VITE_MODE, }, ``` 在hook/useEnv中 ```js export function useEnv() { /* isMode 有以下三種狀態, 由於有三種狀態, 不可再用true/false去判斷 總控: .env.tesing => Admin 總代: .env.agent => Agent 代理: .env.generalAgent => GeneralAgent */ const getModeEnv = () => { console.log(import.meta.env) switch (import.meta.env.VITE_MODE) { case 'agent': return { VITE_APP_TITLE: 'Quasar Core', VITE_APP_BASE_API: 'https://staging.gsimw.com/api', VITE_APP_MODE: 'agent', VITE_APP_SITE_VERSION: '0.0.0' } case 'generalAgent': return { VITE_APP_TITLE: 'Quasar Core', VITE_APP_BASE_API: 'https://staging.gsimw.com/api', VITE_APP_MODE: 'generalAgent', VITE_APP_SITE_VERSION: '0.0.0' } case 'admin': return { VITE_APP_TITLE: 'Quasar Core', VITE_APP_BASE_API: 'https://staging.gsimw.com/api', VITE_APP_MODE: 'admin', VITE_APP_SITE_VERSION: '0.0.0' } default: return { VITE_APP_TITLE: 'Quasar Core', VITE_APP_BASE_API: 'https://localhost:8080/api', VITE_APP_MODE: 'admin', VITE_APP_SITE_VERSION: '0.0.0' } } } const envData = () => getModeEnv() // const version = () => process.env.VUE_APP_SITE_VERSION return { envData, // isMode, // version } } ``` PS: 在不同作業系統下會有不同寫法