zoukankan      html  css  js  c++  java
  • 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'显式的声明自己的外部库名称;
  • 相关阅读:
    BZOJ3196: Tyvj 1730 二逼平衡树
    (转载)你真的会二分查找吗?
    Codeforces Round #259 (Div. 2)
    BZOJ1452: [JSOI2009]Count
    BZOJ2733: [HNOI2012]永无乡
    BZOJ1103: [POI2007]大都市meg
    BZOJ2761: [JLOI2011]不重复数字
    BZOJ1305: [CQOI2009]dance跳舞
    挖坑#4-----倍增
    BZOJ1042: [HAOI2008]硬币购物
  • 原文地址:https://www.cnblogs.com/xpengp/p/12787239.html
Copyright © 2011-2022 走看看