我对 TS 很陌生,我正在尝试为 React JSX 组件库创建一个声明文件。我从库中的一个 Button 组件开始。但是取消导入按钮我收到以下错误:
模块 '"library-name"' 没有导出的成员 'Button'。ts(2305)
我显然做错了什么,但我不明白是什么。
我创建了一个文件结构如下:
@types
├── library-name
│ ├── index.d.ts
│ ├── lib
│ │ ├── index.d.ts
│ │ ├── Button.d.ts
---index.d.ts---
declare module 'library-name' {
import 'library-name';
export * from './lib';
}
---lib\index.d.ts---
import { ButtonProps } from './Button';
import Button = require('./Button');
export { Button, ButtonProps };
}
---lib\Button.d.ts---
import { ButtonProps } from './Button';
import Button = require('./Button');
export { Button, ButtonProps, utils };
import * as React from 'react';
declare module Button {
export interface ButtonProps
extends React.HTMLProps<Button> {
Component?: JSX.Element;
block?: boolean;
children: Element[];
circle?: boolean;
className?: string;
disabled?: boolean;
doubleLines?: boolean;
elemRef?: Object;
focus?: bool;
href?: string;
iconPosition?: string;
inverted?: boolean;
onClick?: () => void;
size?: number;
thin?: boolean;
transparent?: boolean;
type?: string;
}
}
export = Button;
}
提前致谢!