gpt4 book ai didi

typescript - 如何在保持默认行为的同时扩展 tsconfig 中的类型

转载 作者:行者123 更新时间:2023-12-05 08:03:01 28 4
gpt4 key购买 nike

根据 TypeScript's docs ,在 types 中设置一个值将覆盖默认行为并且只查找我指定的类型:

By default all visible ”@types” packages are included in your compilation. Packages in node_modules/@types of any enclosing folder are considered visible. For example, that means packages within ./node_modules/@types/, ../node_modules/@types/, ../../node_modules/@types/, and so on.

If types is specified, only packages listed will be included in the global scope. For instance:

 "compilerOptions": {
"types": ["node", "jest", "express"]
}
}

This tsconfig.json file will only include ./node_modules/@types/node, ./node_modules/@types/jest and ./node_modules/@types/express. Other packages under node_modules/@types/* will not be included.

有没有办法通过提供“@types”中未列出的附加类型而不是覆盖它来扩展默认行为?

最佳答案

正如@mseyfayi 给你的提示一样,你可以利用 Modules .d.ts

的好处

Modules .d.ts - TS Docs

以下问题和答案可能对您有所帮助。

typescript: How to extend existing module definition?

这也可能对您有帮助 Missing Types (来自上面的帖子)


这不是你想要的,但仅供引用

可选的全局用法

您可以使用 export as 命名空间来声明您的模块将在 UMD 上下文中的全局范围内可用:

What is UMD? - TS Docs

// declarations.d.ts
export as namespace moduleName;

不要忘记将 .d.ts 文件添加到您的 tsconfig.json

现在全局可用。

// tsconfig.json
{
"compilerOptions": {
...
},
"include": [ declarations.d.ts ],
}

编码愉快!

关于typescript - 如何在保持默认行为的同时扩展 tsconfig 中的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75006206/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com