覆盖从NPM @Types下载的V2.2.2中的TypeScript类型

我正在使用组件react-router-bootstrap和DefinitelyTyped中的定义。我的问题是下载的定义与组件不匹配。我创建了一个拉取请求来解决此问题,但是由于我不知道何时会打补丁,因此必须覆盖它。我不能只编辑node_modules\@types本地的类型定义文件,因为我们是一个团队,正在处理此项目,并且该node_modules文件夹未签入。

如何覆盖类型定义?我只是不想覆盖LinkContainer.d文件,因为其他文件可以工作。

拉取要求:

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/16600

我试图LinkContainer.d.ts在我的类型文件夹中创建一个名称正确的文件,但该文件没有被拾取。在同一个文件夹中,我的global.d.tswith接口可以很好地拾取。

/// <reference types="react-router-bootstrap" />

import { ComponentClass } from "react";

import { NavLinkProps } from "react-router-dom";

type LinkContainer = ComponentClass<NavLinkProps>;

declare const LinkContainer: LinkContainer;

export default LinkContainer;

回答:

基于此示例的解决方案:

https://github.com/Microsoft/TypeScript/issues/11137#issuecomment-251755605

typings在根文件夹中添加一个名为的文件夹。

编辑tsconfig.json:

{

"compilerOptions": {

//baseUrl and paths needed for custom typings

"baseUrl": ".",

"paths": {

"*": [ "./typings/*" ]

},

...

在-文件夹中添加一个typings名为的文件夹react-router-

bootstrap(名称应与module相同),并在其中添加名为的文件index.d.ts

在文件中index.d.ts添加您的自定义键入或参考:

import { ComponentClass } from "react";

import { NavLinkProps } from "react-router-dom";

type LinkContainer = ComponentClass<NavLinkProps>;

export const LinkContainer: LinkContainer;

现在,导入模块时,将加载自定义类型: import { LinkContainer } from 'react-router-bootstrap';

以上是 覆盖从NPM @Types下载的V2.2.2中的TypeScript类型 的全部内容, 来源链接: utcz.com/qa/403565.html

回到顶部