我想写一个类型定义storybook-router https://www.npmjs.com/package/storybook-router。它不必那么准确,因为这是一个次要的开发工具(即any
s 是可以接受的),但我什至似乎无法让它发挥作用。
我想代表的是:
import StoryRouter from 'storybook-router';
...其中StoryRouter
是一个与接口匹配的函数StoryDecorator
from @types/storybook__react
.
我尝试了以下定义文件:
import { StoryDecorator } from '@storybook/react';
declare type StoryRouter = StoryDecorator;
export default StoryRouter;
不幸的是,这会导致以下错误:
TS7016:找不到模块“storybook-router”的声明文件。 '//node_modules/storybook-router/dist/StoryRouter.js' 隐式具有“any”类型。
尝试npm install @types/storybook-router
如果存在或添加一个新的声明 (.d.ts) 文件,其中包含declare module 'storybook-router';
但是,如果我使用最后一个示例(declare module 'storybook-router'
),我似乎不知道如何设置默认导出。
表示这种类型的正确方法是什么?
您不需要导入 .d.ts 文件,只需声明该模块。
通常,它看起来像这样(最简单的用例):
// storybook-router.d.ts
declare module 'storybook-router' {
const StoryDecorator:any;
export default StoryDecorator;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)