typescript - 导入带有类型信息的可选模块
问题描述
我的 TypeScript 库中有一个optionalDependency
用户可能安装也可能不安装。此可选依赖项也是用 TypeScript 编写的。
我现在的处理方式是这样的
1.
let lib: any;
try {
lib = require('lib');
} catch (_) {}
if (lib) {
// use lib
}
但这不会保留类型信息。在一个理想的世界中,我希望能够做到这一点:
2.
import { func } from 'lib';
if (func) {
// use func
}
我已经意识到这是不可能的。
所以我的问题是:是否可以使用 (1) 中的代码从可选依赖项中获取类型信息?如何?
解决方案
推荐阅读
- docker - 如何将流利的位输入日志写入本地主机系统日志服务器
- java - 使用复杂的构造函数 Kotlin + Jackson 将 json 反序列化为子类型
- c++ - 当用 gRPC 调用替换函数调用时,我是否需要使我的代码线程安全?
- c# - 一个类可以有 2 个属性,其中只能填充 1 个吗?
- powerbi - 在 Power BI 中比较两个值并计算结果的度量
- pyspark - 当 regexp_replace 添加空间时,Pyspark 错误 DDL 长度超出
- java - 有没有办法在 Java 中实现具有多个子节点的 LinkedList?
- blockchain - 一个智能合约有多少个 NFT?
- python - PostgreSQL(新部署)
- go - 如何 cgo 链接到使用 LLVM 的 libc++ 构建的库