是否可以强制打字稿使用来自definitelyTyped 的类型而不是本机库类型?
Posted
技术标签:
【中文标题】是否可以强制打字稿使用来自definitelyTyped 的类型而不是本机库类型?【英文标题】:Is it possible to force typescript to use types from DefinitelyTyped instead of native lib types? 【发布时间】:2020-09-05 22:42:33 【问题描述】:我正在尝试迁移到现在具有内置打字稿类型的 sequelize v5。我对上述类型的编写方式并不满意:与数据相关的方法(查找/创建/更新/等)使用“对象”作为数据值类型。 DefinitelyTyped 的类型是使用泛型编写的,没有这样的缺点。
现在的问题是 typescript 编译器从 sequelize 中检测到内置类型并忽略了 distinctlyTyped 类型。有没有办法改变这种行为?
【问题讨论】:
您是否尝试在文件中添加参考?喜欢/// <reference types="mylib" />
【参考方案1】:
This question提供解决方案:
在您的 .tsconfig.json 文件中:
...
"compilerOptions":
...
"baseUrl": ".",
"paths":
"*": [
"types/*", // locally defined types
"node_modules/@types/*" // DefinitelyTyped typings for applicable packages
]
...
这意味着编译器将首先在您的本地 /types
文件夹中查找,然后在 node_modules/@types/
中查找,然后再使用 lib 定义的类型。
【讨论】:
以上是关于是否可以强制打字稿使用来自definitelyTyped 的类型而不是本机库类型?的主要内容,如果未能解决你的问题,请参考以下文章