TypeScript中的*.d.ts文件是什么以及为什么需要它们?
大家好!我最近开始学习TypeScript,遇到了一个我不太明白的东西。在项目中,我经常看到扩展名为`.d.ts`的文件。例如,在`node_modules`文件夹中,库里面就有这样的文件。我打开其中一个,里面大概是这样的:
```typescript
declare module 'lodash' {
export function chunk(array: T[], size?: number): T[][];
}
```
我不太明白这是什么。这是一种特殊的TypeScript文件吗?如果我们有普通的`.ts`文件,为什么还需要它们?我试着自己创建了一个这样的文件并在里面写了一些代码,但当我尝试在没有`declare`关键字的情况下声明变量时,编译器会报错。
我还注意到,如果我从一个没有这些文件的库中写`import`,TypeScript会报错“Cannot find module”。所以,这些`.d.ts`文件是不是帮助TypeScript理解普通JavaScript代码中的类型?希望能得到详细的解释,最好有例子。