请考虑以下场景:我正在尝试为两个 commonJS 模块 A 和 B 编写打字稿定义。B 依赖于 A,为了方便起见,B 直接将 A 作为属性导出B.A
,这样用户就不需要显式地require('A')
在他们的代码中。
我的问题是,如何编写 B 的打字稿定义以便将 A 作为 B 的属性导出?这是我尝试过的:
A 有它导出的各种成员:
export const foo = 'bar';
然后,在BI中尝试过:
import * as A from 'A';
export A;
和
import * as a from 'A';
export var A : a;
但是,这些都不是有效的打字稿模块定义。
目标是,在消耗 B 的打字稿代码中,能够编写:
import B = require('B');
console.log(B.A.foo);
编写 B 的模块定义以便将 A 作为 B 的属性导出的正确方法是什么?
A.ts
export let foo = 1;
Bdts
import * as A from "./A";
export {
A
}
用法
import B from "./B";
console.log(B.A.foo);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句