Vite中配置環(huán)境變量

關(guān)于Vite環(huán)境變量的配置

vite.config.js中首先在這個(gè)配置文件中我們是拿不到import.meta.env的 昂勉,只能通過(guò)process.env的方式拿到

新建一個(gè)load-env.ts

安裝dotenv幫助我們加載指定的環(huán)境變量 ,我們?cè)谀夸浵滦陆ㄈ缦聨讉€(gè)變量

  • .env,deveopmemt
  • .env.prc
  • .env.production
  • .env.menarini

package.json 中 配置對(duì)應(yīng)的腳本

  "scripts": {
    "dev": "vite",
    "dev:prc": "vite serve --mode prc",
    "dev:menarini": "vite serve --mode menarini",
    "build": "vue-tsc --noEmit && vite build",
    "serve": "vite preview"
  }

npm i dotenv

import * as dotenv from "dotenv"
export interface ViteEnv {
    VITE_URL: string;
    VITE_BASE_URL: string;
    VITE_ZIP_NAME: string;
}

// 通過(guò)dotenv配置 需要加載指定.env文件 這樣process.env打印到得就是對(duì)應(yīng)得文件了 
// 這里的mode是我們啟動(dòng)時(shí)候的參數(shù) npm run dev:prc 得到的mode就是prc
export function loadEnv(mode: string): ViteEnv {
    const ret: any = {};
    // 在使用之前我們先指定加載哪個(gè)環(huán)境變量 
    dotenv.config({
        path: `.env.${mode}` // .env.prc
    });
    
    for (const envName of Object.keys(process.env)) {
        let realName = (process.env as any)[envName].replace(/\\n/g, "\n");
        ret[envName] = realName;
        // 向process.env上擴(kuò)展我們定義的VITE環(huán)境變量
        process.env[envName] = realName;
    }
    return ret
}
const regExps = (value: string, reg: string): string => {
    return value.replace(new RegExp(reg, "g"), "");
};

//   根據(jù)環(huán)境變量返回指定得proxy
export function createProxy(targetProxyUrl:string,baseUrl:string) {
    return {
        [`${baseUrl}`]: {
            target: targetProxyUrl,
            changeOrigin: true,
            rewrite: (path: string) => regExps(path,`${baseUrl}`)
        },
    }
}

vite.config.ts

# mode是在這里拿到的
export default ({ command, mode }) => {}

import { loadEnv, createProxy } from "./src/utils/load-env"

const { VITE_URL, VITE_BASE_URL, VITE_ZIP_NAME } = loadEnv(mode)
# proxy部分
 serve: {
      port: 8999,
      proxy: createProxy(VITE_URL, VITE_BASE_URL)
 }

request.ts

request.ts中我們可以通過(guò) import.meta.env 拿到我們?cè)诃h(huán)境變量文件中的定義的Vite變量

這樣在配置axios的時(shí)候

const baseURL = (import.meta.env.VITE_BASE_URL as string)
const service: AxiosInstance = axios.create({
  baseURL,
  timeout: 30 * 1000,
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子熙兔,更是在濱河造成了極大的恐慌,老刑警劉巖艾恼,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件住涉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡钠绍,警方通過(guò)查閱死者的電腦和手機(jī)舆声,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)柳爽,“玉大人媳握,你說(shuō)我怎么就攤上這事×赘” “怎么了蛾找?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赵誓。 經(jīng)常有香客問(wèn)我打毛,道長(zhǎng),這世上最難降的妖魔是什么俩功? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任幻枉,我火速辦了婚禮,結(jié)果婚禮上诡蜓,老公的妹妹穿的比我還像新娘熬甫。我一直安慰自己,他們只是感情好蔓罚,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布椿肩。 她就那樣靜靜地躺著,像睡著了一般豺谈。 火紅的嫁衣襯著肌膚如雪覆旱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天核无,我揣著相機(jī)與錄音扣唱,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛噪沙,可吹牛的內(nèi)容都是我干的炼彪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼正歼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辐马!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起局义,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤喜爷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后萄唇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體檩帐,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年另萤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了湃密。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡四敞,死狀恐怖泛源,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忿危,我是刑警寧澤达箍,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站铺厨,受9級(jí)特大地震影響缎玫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜努释,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咬摇。 院中可真熱鬧伐蒂,春花似錦、人聲如沸肛鹏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)在扰。三九已至缕减,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間芒珠,已是汗流浹背桥狡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裹芝。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓部逮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親嫂易。 傳聞我的和親對(duì)象是個(gè)殘疾皇子兄朋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容