gpt4 book ai didi

typescript - 导入带有类型信息的可选模块

转载 作者:行者123 更新时间:2023-12-05 07:25:07 28 4
gpt4 key购买 nike

我的 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) 中的代码从可选依赖项中获取类型信息?怎么办?

最佳答案

对我来说,tsconfig.json 选项中的 skipLibCheck: true 有帮助。这将使 tsc 只检查导入的文件,所以在我的例子中,我没有导入出现错误的文件。

Skip type checking of declaration files.

This can save time during compilation at the expense of type-system accuracy. For example, two libraries could define two copies of the same type in an inconsistent way. Rather than doing a full check of all d.ts files, TypeScript will type check the code you specifically refer to in your app’s source code.

关于typescript - 导入带有类型信息的可选模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55041919/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com