在DefinitelyTyped定义的NodeJS可能的重大更改

问题描述 投票:3回答:1

继近期https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32567的变化,一些用户可能会引用与打字稿建库引用上DefinitelyTyped的定义的NodeJS时遇到编译时错误。库作者可以发现以下是从现在在编制申报文件输出的顶部丢失:

/// <reference types="node" />
...

这是由于在申报文件中所述发送行为的错误。最近,我们平分定义为进的NodeJS通过/// <reference path="" />标签包括改善可维护性,是必要的,以支持定义的NodeJS新打字稿语言功能的多个文件。不幸的是,打字稿的自动发射/// <reference types="" />标签支持不包括对“环境模块”路径引用。一个fix现在我们master间分行,将在我们的下一个每晚构建可用。

在此期间,有什么可以做的用户解决这一变化,如果他们使用的版本打字稿的不具有此修复程序?

typescript definitelytyped
1个回答
2
投票

End-User Applications

一般来说,打字稿用户建立最终用户应用程序不应该受到这种变化的影响,因为它影响的声明文件(.d.ts)只能发出。如果您已经安装了@types/node包到项目的node_modules目录,我们将自动拿起模块声明为您服务。

如果你已经明确设置在"types"为您的项目tsconfig.json条目,要么使用的NodeJS或出口量的NodeJS类型声明声明类型的包装,你应该确保"node"包含在程序包类型列表中默认使用。

Shared Packages

如果你是依赖于类型的NodeJS声明在声明文件输出包的作者,你更有可能受到此问题的影响。这取决于你的包下游的包将仅在它们要么受到影响:

  • 没有安装@types/node包作为一个发展的依赖。
  • 在他们的tsconfig.json一个"types"条目不包括"node"

这些消费者可以通过确保他们@types/node安装,并且其"types"(如果存在的话)包含"node"解决这些问题。他们也可能能够通过他们的编译器选项指定"skipLibCheck": true来解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.