第五章:配置文件類型聲明

對于使用 TypeScript 的開發(fā)者來說,添加類型聲明可以獲得類型檢查以及代碼提示。 可以在項(xiàng)目根目錄下創(chuàng)建一個(gè) type 文件夾,并在該文件加下創(chuàng)建一個(gè)一個(gè)的類型聲明文件。

創(chuàng)建 vite-client.d.ts 文件

Vite 默認(rèn)的類型定義是寫給它的 Node.js API 的。要將其補(bǔ)充到一個(gè) Vite 應(yīng)用的客戶端代碼環(huán)境中,請?zhí)砑右粋€(gè) d.ts 聲明文件。
在配置完 tsconfig.json 文件的 "types": ["node", "vite/client"] 后,vite/client 會(huì)提供以下類型定義補(bǔ)充:

  • 資源導(dǎo)入 (例如:導(dǎo)入一個(gè) .svg 文件)
  • import.meta.env 上 Vite 注入的 常量 的類型定義
  • import.meta.hot 上的 HMR API 類型定義
/// <reference types="vite/client" />

interface ImportMetaEnv {
  /** 網(wǎng)站部署的目錄 (公共基礎(chǔ)路徑) */
  readonly VITE_BASE_URL: string;
  /** API 接口路徑前綴 */
  readonly VITE_BASE_API_URL: string;
  /** 是否清空掉代碼中的 console */
  readonly VITE_DROP_CONSOLE: string;
  // 更多環(huán)境變量...
}

interface ImportMeta {
  readonly env: ImportMetaEnv;
}

創(chuàng)建 global.d.ts 文件

import type packageJSON from '../package.json';

declare global {
    // 定義全局常量類型聲明(參見:vite.config.js 中的 define 配置)
    const __APP_INFO__: {
        pkg: typeof packageJSON;
        lastBuildTime: string;
    };
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容