我正在为React创建一个TypeScript库,需要创建自定义类型定义(WriteAllText
)。
通常,开发人员不需要为某些库显式导入类型定义,而他们要做的只是在最新的TypeScript中安装index.d.ts
包。
我的库依赖于React及其类型定义(@types/
,我想像下面那样在自定义类型定义(@types/react
)中导入React类型定义。
index.d.ts
但是定义不能正常工作并抛出错误“找不到模块”。
我有两个问题,
// index.d.ts
/// <reference types="node" />
import { HtmlHTMLAttributes } from "@types/react";
declare module "*.bar" {
const value: HtmlHTMLAttributes;
export default value;
}
安装为“依赖项”或将其安装为“ devDependencies”是正确的吗?已编辑
我使用导入语法@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
我该怎么办?