如何为已安装的模块使用本地typescript声明文件?

如何为已安装的模块使用本地typescript声明文件?,typescript,Typescript,当我安装了一个不受欢迎的模块,而该模块在@types名称空间下没有发布类型声明时,我被卡住了。我知道如何编写声明文件,但我不知道如何让typescript编译器知道它。打字脚本没有提到如何做。文档只提到搜索类型声明,如果找不到,则发布一个新的类型声明,但没有提到如何在不发布的情况下执行 因此,假设我安装了一个名为xyz的包,并且我知道它公开的公共api。然后,我编写一个与公开的api匹配的类型声明文件。那么,如何让typescript编译器意识到它呢?只需在项目中添加一个.d.ts文件,type

当我安装了一个不受欢迎的模块,而该模块在
@types
名称空间下没有发布类型声明时,我被卡住了。我知道如何编写声明文件,但我不知道如何让typescript编译器知道它。打字脚本没有提到如何做。文档只提到搜索类型声明,如果找不到,则发布一个新的类型声明,但没有提到如何在不发布的情况下执行


因此,假设我安装了一个名为
xyz
的包,并且我知道它公开的公共api。然后,我编写一个与公开的api匹配的类型声明文件。那么,如何让typescript编译器意识到它呢?

只需在项目中添加一个
.d.ts
文件,typescript就会自动意识到它。您不需要导入它或其他任何东西,只需进入由TypeScript处理的文件夹,您的项目是否包含
tsconfig.json
文件?如果是,您可以在编译器选项下指定类型定义的路径:

{
   "compilerOptions": {
       "typeRoots" : ["./typings"]
   }
}

你能说得更具体一点吗,我应该把那个文件放在哪里?比如说,我所有的typescript代码都在
src/
目录下,我应该将该文件放在哪里?注意:在定义文件中,作者必须将导出的成员包装在:
声明模块“xyz”{…}
@MasBagol,将其放在
src/
下,是的。您还可以在
src
下添加一个文件夹
types
,如果您愿意的话,这并不重要。不,你不需要“导出”任何东西,因为它是一个环境声明文件。啊,好的。谢谢:)文件以“declare module”开头非常重要```