typescript - 如何创建匹配复杂路径的 TypeScript 模块?
问题描述
我想声明一个针对所有图像导入的全局模块和另一个针对所有图标导入的全局模块,因为在我正在处理的项目中对它们的处理方式不同。图像导入通常来自images
文件夹和icons
文件icons
夹,但它们的扩展名可以相同。
根据模块通配符文档,我想到了这样的事情:
declare module '*/icons/*' {
type IconType = { viewBox: string, symbol: string };
const icon: IconType;
export = icon;
}
declare module '*/images/*' {
const url: string;
export = url;
}
但这似乎不起作用。有没有其他方法可以做到这一点?在 Flow 中可以定义它,module.name_mapper
但如何在 TypeScript 中定义呢?
解决方案
尝试通过文件后缀声明模块,每种文件类型一个声明。
declare module '@my/module/src/images/*.svg' {
type IconType = { viewBox: string, symbol: string };
const icon: IconType;
export = icon;
}
declare module '@my/module/src/icons/*.svg' {
const resource: string;
export = resource;
}
推荐阅读
- sonarqube - Jacoco 报告 Sonar 的综合覆盖率报告问题
- typescript - 指定标准nestjs项目的条目?
- wordpress - 如何将全局样式包含到 elementor?
- c# - Visual Studio 将 XML 粘贴为类 - 忽略类型名称
- oracle - 为什么我不能在 PL/SQL 中执行匿名块?
- elasticsearch - ElasticSearch - 关于“top_terms_boost_N”重写参数的说明
- c++ - 入队,从输入文件中出队(结构数组)
- python - 函数/方法内的范围问题
- javascript - 如何在 JavaScript 中将 px 转换为 %(100% 以内)
- html - 为什么我的选择元素隐藏了进行中的元素?