如何在我的自定义类型定义文件中导入其他类型定义

时间:2018-08-19 19:50:49

标签: typescript

我正在为React创建一个TypeScript库,需要创建自定义类型定义(WriteAllText)。

通常,开发人员不需要为某些库显式导入类型定义,而他们要做的只是在最新的TypeScript中安装index.d.ts包。

我的库依赖于React及其类型定义(@types/,我想像下面那样在自定义类型定义(@types/react)中导入React类型定义。

index.d.ts

但是定义不能正常工作并抛出错误“找不到模块”。

我有两个问题,

  1. // index.d.ts /// <reference types="node" /> import { HtmlHTMLAttributes } from "@types/react"; declare module "*.bar" { const value: HtmlHTMLAttributes; export default value; } 安装为“依赖项”或将其安装为“ devDependencies”是正确的吗?
  2. 如何在我的自定义类型定义中导入其他类型定义并使用它们?

已编辑

我使用导入语法@types/react而不是from "react",然后在编写以下代码时抛出错误from "@types/react"

Cannot find  module 'foo.bar'.

但是从定义中删除导入语法,不会引发错误。

// sample.ts
import * as Foo from "foo.bar";
                     ^^^^^^^^^

该库取决于React的类型定义,但不需要包含React,因此我无需安装// index.d.ts /// <reference types="node" /> // import { HtmlHTMLAttributes } from "react"; <-- Remove declare module "*.bar" { ... // sample.ts import * as Foo from "foo.bar"; // <-- does not throw errors.

react

我该怎么办?

0 个答案:

没有答案