覆盖从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.ts
with接口可以很好地拾取。
/// <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