第三方库类型
第三方库类型有三个来源:自带类型(.d.ts 直接打包在包里)、DefinitelyTyped 社区维护的 @types/xxx 补丁包、以及干脆没有类型的老库。
装了 @types 包 TS 会自动识别;没类型的库 import 进来默认 any,可以先 declare module 补一个基础形状应急,再逐步收紧。用 npm ls @types/* 或编辑器内悬浮查看类型来源。
- @types/包名:DefinitelyTyped 社区类型包,安装即生效
- checkJs + allowJs:给存量 JS 项目渐进迁移 TS 铺路
- 完全没类型的库:declare module 补形状,先 any 顶住再收紧
TS
# 常见类型补丁包(与运行库成对安装) npm install lodash --save npm install @types/lodash --save-dev # 检查类型来源:把鼠标悬停在导入名上,编辑器会显示定义文件路径
TS
// 给零类型老库的应急声明:src/shims.d.ts
declare module 'js-paginator' {
interface PaginatorOptions { page: number; size: number }
export default class Paginator {
constructor(opts: PaginatorOptions);
next(): number;
}
}
// 渐进迁移的 tsconfig:允许 JS 文件参与检查
// {
// "allowJs": true, // 允许编译 JS 文件
// "checkJs": true // 对 JS 文件也做类型检查(配合 JSDoc)
// }
// 使用处
import Paginator from 'js-paginator';
const p = new Paginator({ page: 1, size: 10 });
const next = p.next(); // number本节要点库类型三来源:自带 / @types 补丁包 / declare module 手工补;存量项目用 allowJs 渐进迁移。




