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


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

本文以 headless-chrome-crawler 这个库为例 在源码目录,新建类型文件夹和 d.ts。 如下:

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

2.定义模块

1
2
3
declare module 'headless-chrome-crawler' {
...
}

3.修改 tsconfig

1
2
3
4
5
6
7
{
  "compilerOptions": {
    "typeRoots": ["src/@types", "./node_modules/@types"]
  },
  "include": ["src/**/*"],
  "exclude": ["src/@types/**/*"]
}

这里是告诉 ts,先从 src/@types 目录下去搜索类型。 否则默认是直接去 node_modules 下面找。 大功告成。