如何引用另一个文件夹中的 Javascript 类型声明文件?

Don*_*Zhu 5 javascript typescript

我正在尝试为我的 Javascript 文件编写打字稿声明文件,但希望将它们存储在单独的文件夹中:

src/
  types/
    foo.d.ts
  foo.js
Run Code Online (Sandbox Code Playgroud)
// foo.d.ts
export function foo(bar): number
Run Code Online (Sandbox Code Playgroud)
// foo.js
export const foo = bar => bar.length
Run Code Online (Sandbox Code Playgroud)
// The type suggestion when calling foo from another file 
foo() //(alias) const foo: (bar: any) => any
Run Code Online (Sandbox Code Playgroud)

现在,当我导入并调用foo其他文件时,类型建议不起作用。当我以前做类似的事情时,我必须将.d.ts文件放在与 JS 文件相同的目录中。我尝试添加/// <reference/>,但没有帮助或者我做得不正确。我并不是想导出声明文件,这纯粹是为了在开发过程中帮助我。我怎样才能做到这一点?

t-m*_*art -1

您是说您希望首先将声明文件编写为某种合同,然后再编写匹配的实现吗?作为一种“声明驱动”的开发?

我不确定你能做到这一点。声明文件适用于非 Typescript 代码的 Typescript 使用者。您已经在 Typescript 中了。我认为你所说的类似于同一类型的两个定义的共存。

(您可能知道,当您declarationtsconfig.json或 中使用命令行标志(例如 )设置属性时,创建声明文件是一个自动过程tsc --declaration。)