6

我想为storybook-router. 它不需要那么准确,因为这是一个次要的开发工具(即anys 是可以接受的),但我什至无法让它工作。

我要代表的是:

import StoryRouter from 'storybook-router';

...其中StoryRouter是一个StoryDecorator@types/storybook__react.

我尝试了以下定义文件:

import { StoryDecorator } from '@storybook/react';

declare type StoryRouter = StoryDecorator;

export default StoryRouter;

不幸的是,这会导致以下错误:

TS7016:找不到模块“故事书路由器”的声明文件。'/<path snipped>/node_modules/storybook-router/dist/StoryRouter.js' 隐含了一个 'any' 类型。尝试npm install @types/storybook-router它是否存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'storybook-router';

但是,如果我使用最后一个示例 ( declare module 'storybook-router'),我似乎无法弄清楚如何设置默认导出。

表示这种类型的正确方法是什么?

4

1 回答 1

13

您无需导入 .d.ts 文件,只需声明模块。
通常,它看起来像这样(任何最简单的用例):

// storybook-router.d.ts
declare module 'storybook-router' {
    const StoryDecorator:any;
    export default StoryDecorator;
}
于 2017-12-20T16:19:11.260 回答