我的TypeScript库中有一个optionalDependency
,用户可能安装也可能未安装。此可选依赖项也用TypeScript编写。
我现在的处理方式是这样的
let lib: any;
try {
lib = require('lib');
} catch (_) {}
if (lib) {
// use lib
}
但这不会保留类型信息。在理想的世界中,我希望能够做到这一点:
import { func } from 'lib';
if (func) {
// use func
}
我已经意识到这是不可能的。
所以我的问题是:是否可以使用(1)中的代码从可选依赖项中获取类型信息?怎么样?