有些js库,官方没有定义类型,本文讲述如何给第三方库定义自己的声明文件


1.添加第三方库类型定义文件

本文以headless-chrome-crawler 这个库为例

在源码目录,新建类型文件夹和d.ts。

如下:

src/@types/headless-chrome-crawler/index.d.ts

2.定义模块

declare module 'headless-chrome-crawler' {
...
}

3.修改tsconfig

{    
    "compilerOptions": {
        "typeRoots": [
          "src/@types",
          "./node_modules/@types"
        ]
    },
    "include": [
    "src/**/*"
    ],
    "exclude": [
    "src/@types/**/*"
    ]
}

这里是告诉ts,先从src/@types目录下去搜索类型。

否则默认是直接去node_modules下面找。

大功告成。