覆盖从 NPM @Types 下载的 V2.2.2 中的 TypeScript 类型
Override TypeScript types in V2.2.2 downloaded from NPM @Types
我正在使用组件 react-router-bootstrap and definitions from DefinitelyTyped。我的问题是下载的定义与组件不匹配。我已经创建了一个 pull request 来解决这个问题,但是因为我不知道它什么时候会被修补,所以我必须覆盖它。我不能只在本地编辑位于 node_modules\@types
中的类型定义文件,因为我们是一个从事此项目的团队并且未签入 node_modules
文件夹。
如何覆盖类型定义?我只想覆盖 LinkContainer.d 文件,因为其他文件有效。
拉取请求:
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/16600
我试图在我的打字文件夹中创建一个名为 LinkContainer.d.ts
的文件,该文件是正确的,但没有被提取。在同一个文件夹中,我有一个 global.d.ts
接口可以很好地拾取。
/// <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
的文件夹(名称应与模块相同),并在其中添加一个名为 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';
我正在使用组件 react-router-bootstrap and definitions from DefinitelyTyped。我的问题是下载的定义与组件不匹配。我已经创建了一个 pull request 来解决这个问题,但是因为我不知道它什么时候会被修补,所以我必须覆盖它。我不能只在本地编辑位于 node_modules\@types
中的类型定义文件,因为我们是一个从事此项目的团队并且未签入 node_modules
文件夹。
如何覆盖类型定义?我只想覆盖 LinkContainer.d 文件,因为其他文件有效。
拉取请求:
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/16600
我试图在我的打字文件夹中创建一个名为 LinkContainer.d.ts
的文件,该文件是正确的,但没有被提取。在同一个文件夹中,我有一个 global.d.ts
接口可以很好地拾取。
/// <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
的文件夹(名称应与模块相同),并在其中添加一个名为 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';