我想为storybook-router
编写一个类型定义。它不一定准确,因为这是一个次要的开发工具(即any
是可以接受的),但我似乎甚至无法使其工作。
我想要表达的是:
import StoryRouter from 'storybook-router';
... StoryRouter
是一个与StoryDecorator
的接口@types/storybook__react
匹配的函数。
我尝试了以下定义文件:
import { StoryDecorator } from '@storybook/react';
declare type StoryRouter = StoryDecorator;
export default StoryRouter;
不幸的是,这会导致以下错误:
TS7016:找不到模块&story;-story'的声明文件。 ' /< path snipped> /node_modules/storybook-router/dist/StoryRouter.js'隐含地有一个“任何”的类型。 如果它存在,请尝试
npm install @types/storybook-router
或添加包含declare module 'storybook-router';
的新声明(.d.ts)文件
但是,如果我使用最后一个例子(declare module 'storybook-router'
),我似乎无法弄清楚如何设置默认导出。
表示此类型的正确方法是什么?
答案 0 :(得分:3)
您不在.d.ts文件中导入,只需声明模块即可 通常,它看起来像这样(最简单的用例):
// storybook-router.d.ts
declare module 'storybook-router' {
const StoryDecorator:any;
export default StoryDecorator;
}