请考虑以下场景:我正在尝试为两个commonJS模块A和B创建打字稿定义.B依赖于A,并且为了方便起见,B直接将A导出为属性B.A
所以用户不需要在其代码中明确require('A')
。
我的问题是,我如何编写B的打字稿定义以便将A作为B的属性导出?以下是我的尝试:
A有出口的各种成员:
export const foo = 'bar';
然后,在B中我尝试过:
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的属性导出?
答案 0 :(得分:1)
A.ts
export let foo = 1;
B.d.ts
import * as A from "./A";
export {
A
}
使用
import B from "./B";
console.log(B.A.foo);