源码本身就是由ts写的,那么在使用tsc脚本将ts编译为js的时候,给tsconfig.json添加declaration选项,就可以同时也生成 .d.ts 声明文件了。
我们可以在命令行中添加 --declaration(简写 -d),或者在 tsconfig.json 中添加 declaration 选项。这里以 tsconfig.json 为例:
{
"compilerOptions": {
"module": "commonjs",
"outDir": "lib",
"declaration": true,
}
}
上例中我们添加了outDir选项,将ts文件的编译结果输出到lib目录下,然后添加了declaration选项,设置为true,表示将会由ts文件自动生成 .d.ts 声明文件,也会输出到 lib 目录下。
除了 declaration 选项之外,还有几个选项也与自动生成声明文件有关,这里只简单列举出来,不做详细演示了:
- declarationDir 设置生成 .d.ts 文件的目录
- declarationMap 对每个 .d.ts 文件,都生成对应的 .d.ts.map(sourcemap)文件
- emitDeclarationOnly 仅生成 .d.ts 文件,不生成 .js 文件