У меня есть модуль, который должен предоставлять пользователю ряд различных классов. Допустим, класс А и класс В:
export class ClassA {}
export class ClassB {}
Однако при использовании в HTML без упаковщика (например, с libraryTarget: 'window'
в веб-пакете) мне нужно, чтобы эти два класса были представлены как объекты корневого уровня:
window.ClassA = ClassA;
window.ClassB = ClassB;
Это потому, что пользователь должен уметь делать такие вещи:
var a = new ClassA(new ClassB(), new ClassB())
Однако, веб-пакет позволит мне назначить экспорт только для window
внутри единственного пространства имен. С library: MyLib
в веб-пакете и кодом, который использует мою библиотеку, необходимо использовать это пространство имен:
var a = new MyLib.ClassA(new MyLib.ClassB(), new MyLib.ClassB())
Это не то, что я хочу. Есть ли способ сделать эти классы доступными непосредственно в объекте window?