TypeScript聲明文件(.d.ts)的使用


前言

當我們在TS文件中需要引入外部庫時,編譯時是無法判斷傳入參數的類型的,所以我們需要在引入前加入一個聲明文件來幫助ts判斷類型。
當然現在大部分庫都自帶有自己的聲明文件,一般在@types目錄下。

使用場景

  1. 在ts文件中對引用的外部庫做類型判斷;
  2. 制作npm包時,書寫自己的聲明文件,需要在package.json的typing/types字段注冊聲明文件的路徑;
  3. 不使用ts時,也可以添加聲明文件與(自己的)的模塊存放在同一目錄下,簡單做一下數據結構體,對IDE參數聲明也有用哦;

引用聲明文件的幾種方法

  1. 與調用的ts文件放在同一目錄下;
  2. 在聲明文件tsconfig.json的include/files字段下添加聲明文件的路徑;

實例

  • 以外部庫fs為例(假設fs沒有自己的聲明文件)

  • fs.d.ts

declare module 'fs' {
    function readFileSync(path: string | number, options?: { encoding?: string; flag?: string; } | null): string;
}
  • MyTest.ts
import * as fs from 'fs'

const body = fs.readFileSync('../@types/fs.d.ts', {encoding: 'utf8'});
console.log(body);

總結

  1. 聲明文件一般只能聲明外部引入的npm包;
  2. 聲明文件一定要用declare module 'fs'顯式的聲明自己的外部庫名稱;


免責聲明!

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



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