如何为具有默认导出的模块编写类型定义

2024-04-03

我想写一个类型定义storybook-router https://www.npmjs.com/package/storybook-router。它不必那么准确,因为这是一个次要的开发工具(即anys 是可以接受的),但我什至似乎无法让它发挥作用。

我想代表的是:

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(使用前将#替换为@)

如何为具有默认导出的模块编写类型定义 的相关文章

随机推荐

  • 如何确定 git 历史记录是否是线性的?

    给定两个 git 提交 我如何确定 最好使用管道命令 它们之间的历史记录是否是线性的 换句话说 我想知道我是否有这个 A B C D E F G 而不是这个 C A B E F G D git log min parents 2只会显示至少
  • Scala - 如何在 for 理解块中使用 foreach 循环?

    我有一个简单的代码 override def createContributorsList url String params String F List Contributor getContributorsFromClient url
  • WPF:截屏的方法

    希望修改以下内容以从所有显示器上截取屏幕截图 我尝试过调整它 但我的图像是空白的 写入test png是为了测试 这byte 将被发送到接收应用程序 public byte Take int screenWidth Convert ToIn
  • FirebaseInstanceIdService getToken 返回 null

    我尝试将 FCM 通知添加到我的应用程序中 但出于某种原因 FirebaseInstanceId getInstance getToken 返回 null 由于我没有得到任何堆栈跟踪 我最好的猜测是 FirebaseInstanceIdSe
  • 从 C++ 代码和命令行生成相同的 Key 和 IV

    我的命令行工具 openssl 有问题 或者我的 C 代码有问题 我不知道哪个是不正确的 但是当我使用这两种方法从 passphase 和盐生成密钥和 IV 时 我没有得到相同的密钥 IV 值 您可以看到代码或命令行是否存在任何拼写错误或问
  • 在 foreach 循环中,使用 & 符号或基于键重新分配哪个更好?

    考虑以下 PHP 代码 Method 1 array array 1 2 3 4 5 foreach array as i gt number number array i number print r array Method 2 arr
  • 将 JMeter 报告转换为 JUnit 报告

    如何将 JMeter 报告转换为 JUnit 报告 有些工具 例如 VSTS 知道如何集成 JUnit 报告 但不知道如何集成 JMeter 报告 尽管它们可以运行 JMeter 我创建了一个 XSLT 将 XML JMeter 报告转换为
  • PyMongo Aggregate 如何获取executionStats

    我正在尝试获取特定 mongo 聚合查询的执行统计信息 我运行 db command 但没有给出 执行状态 这就是我正在努力做的事情 如何使用 db command 获取 Python Mongodb Aggregate 解释 https
  • 如何将一个框架分成两部分

    这是俄罗斯方块 玻璃 蓝色 位于左侧 控件 红色面板 位于右侧 换句话说 现在我只想将框架分为两部分 左 较宽 部分是蓝色 右部分是红色 而已 但我似乎没能做到这一点 所以 我的逻辑是 让框架有FlowLayout 然后我添加两个面板 这意
  • POSIX srandom(...) 和 random() 函数的 Windows 等效项?

    我正在尝试将一些代码从 UNIX 移植到 Windows 并且我需要 POSIX 的实现srandom x and random 对于给定的种子函数x 生成与符合 POSIX 1 2001 的编号规则相同的编号规则 Windows 上有哪些
  • 带有 viewPager 的按钮活动?

    请不要评判我 我对 android 开发非常陌生 我想用 viewPager 制作一个应用程序 我有三个具有三种不同布局的页面 但我只是不知道如何处理 viewPager 上第二页上的按钮 我发现了这个问题 如何在viewpager中编写按
  • LinkedHashMap 变量在 foreach 循环之外不可访问

    这是我的代码 var link scala collection mutable LinkedHashMap String String var fieldTypeMapRDD fixedRDD mapPartitionsWithIndex
  • 如何解决legacy-install-failure错误?

    building matplotlib ft2font extension error Microsoft Visual C 14 0 or greater is required Get it with Microsoft C Build
  • 使用 goto 的最佳实践

    使用是否正确goto在这段代码中 还有其他选择吗 return ExecuteReader cmd reader gt List
  • 计算网页上的滚动结束

    我需要计算网页上滚动的结束位置 以便我可以进行 Ajax 调用 我在 stackoverflow 中搜索了帖子 但解决方案对我不起作用 我使用下面的代码来确定 window scrollTop document height window
  • 如何在express + Passport js中删除注销时的cookie?

    我想 删除注销时的cookie 我做不到 我用谷歌搜索答案并找到以下方法 为 cookie 指定新的过期日期 res cookie connect sid expires new Date 1 path 使用以下行删除 cookie res
  • HRESULT 0x80070057 是什么意思?为什么我的程序崩溃了?

    我编写了一个程序 它拍摄两张图像 然后对它们运行一种算法 以隔离 前景 中的一只手 并将手势与已知的手势相匹配 几天前 我使用一些测试参数运行了该程序 只是为了测试我所做的一些调整 一切都运行良好 从那时起我就没有碰过代码 今天 我用两个新
  • 当我们从 s3 中的 csv 文件读取数据并在 aws athena 中创建表时如何跳过标题。

    我正在尝试从 s3 存储桶读取 csv 数据并在 AWS Athena 中创建一个表 我的表在创建时无法跳过 CSV 文件的标题信息 查询示例 CREATE EXTERNAL TABLE IF NOT EXISTS table name e
  • 相对于绝对定位元素的定位 - 有可能吗?

    我在页面上有一些绝对定位的空间 然后在这个空间中有多个绝对定位的元素 效果很好 每当我需要添加另一个元素时 我不必担心页面流量 我只是使用 x y 平面将其放在我想要的位置 我遇到的问题是 现在我在绝对定位元素之一中有一些动态内容 随着它的
  • 如何为具有默认导出的模块编写类型定义

    我想写一个类型定义storybook router https www npmjs com package storybook router 它不必那么准确 因为这是一个次要的开发工具 即anys 是可以接受的 但我什至似乎无法让它发挥作用