typescript - 是否可以发布带有环境模块声明的包?
问题描述
我有一个包含大量生成模块的包,这些模块都导出相同的类型(例如图标库)。
我想避免.d.ts
为每个模块创建一个文件,因为它们都是相同的。
相反,我想index.d.ts
在包的根目录创建一个文件,如下所示:
// pkg-with-many-assets/index.d.ts
declare module 'pkg-with-many-assets/*' {
const svgPath: string;
export default svgPath;
}
我发现这没有在消费应用程序中注册。但是,当我将文件放在消费应用程序中时,这会起作用。
是否可以创建带有环境模块声明的包?
编辑:似乎这实际上是可能的,因为@types/simple-icons做到了。但是,如果我要将文件复制并粘贴@types/simple-icons/index.d.ts
到simple-icons/index.d.ts
我的node_modules
目录中,它就不再起作用了。
也许问题在于 TypeScript 没有读取包index.d.ts
根目录下的文件simple-icons
(尽管 中有"types": "index.d.ts"
规范package.json
)。
我设法通过在 中指定包名称来使上述工作正常工作tsconfig.json
compilerOptions.types
,但显然我希望这种检测是自动的,无需手动配置。
解决方案
推荐阅读
- excel - 如何使按钮在另一个用户窗体中显示对象?
- python - 在 Python Zelle 图形中创建 Rectangle 的子类
- linux - 在汇编中拆分字符串
- python - python中的子进程显示属性错误
- python - python列表中每个元素的唯一索引值
- python-3.x - 在 Python 3 中使用 __add__ 方法添加两个向量
- mysql - 如何将(插入)pandas DatafFrame 直接写入 MySQL 数据库?
- reactjs - 为什么我第一次点击按钮时屏幕没有更新,但之后却完全正常?
- ios - Flutter Firebase_Admob “Google 移动广告 SDK 需要 iOS 8.0 或更高版本的部署目标。” iOS 错误
- c# - 非常感谢 .OrderBy 和 group/cross join 方面的帮助