TypeScript:指定目录以查找模块类型定义

标签 typescript import module type-definition

嘿嘿,

我想在我的 typescript 代码中使用一些 javascript 库,这些库在 npm 中没有类型。所以我自己编写了类型并将它们放在源代码树中的 definitions 目录中。但是,我无法让 typescript 在该目录中查找这些模块。

我的目录结构是这样的:

+-node_modules
| |
| +-moduleA
| |
| +-moduleB
|
+-src
| |
| +-definitions
| | |
| | +-moduleA.d.ts
| | |
| | +-moduleB.d.ts
| |
| +-ts
|   |
|   + ... all typescript code ...
|
+-tsconfig.json

我尝试使用

将模块包含在 definitions 目录中
  • 包含
  • 文件
  • typeRoots
  • 路径

然而,这些都不起作用。

有人能告诉我,如何让 typescript 包含这些打字吗?

PS:为什么TypeScript模块处理这么复杂???

最佳答案

{
  "compilerOptions": {
    "typeRoots": [
      "./node_modules/@types",
      "./some-custom-lib"
    ]
  }
}

typeRoots 字符串数组就是为此而生的。除了常规的“node_modules/@type”之外,添加一个自定义的 typings 文件夹。

关于TypeScript:指定目录以查找模块类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45507481/

相关文章:

typescript - 带有 Typescript 导入 Assets 错误的 Gatsby (ts2307)

generics - 用泛型 T 扩展一个类

import - 在 Python 中,仅导入某些内容以更方便地公开它是否被认为是不好的做法?

java - 对于 SQLite (Eclipse),将数据库从本地导入到模拟器,反之亦然

Angular 圆形模块导入

javascript - 在数组映射期间与 toLowerCase 和 indexOf 组合的可选链接

Typescript 模块作为命名空间

c++ - 间接 Typelib 未从 Debug dll 中很好地导入

python - 在 python 模块处于事件状态时更新它

Python dir() 不显示包中的所有模块