我有一个模块,需要向用户公开许多不同的类。假设ClassA和ClassB:
export class ClassA {}
export class ClassB {}
但是,当在不带捆绑程序的HTML中使用时(例如,在webpack中与libraryTarget: 'window'
一起使用),我需要将这两个类公开为根级对象:
window.ClassA = ClassA;
window.ClassB = ClassB;
这是因为用户需要能够执行以下操作:
var a = new ClassA(new ClassB(), new ClassB())
但是,webpack只允许我将导出分配给单个命名空间中的window
。在webpack中使用library: MyLib
,并且使用我的库的代码必须使用以下命名空间:
var a = new MyLib.ClassA(new MyLib.ClassB(), new MyLib.ClassB())
这不是我想要的。有没有办法让这些类直接在window对象上可用?
答案 0 :(得分:1)
根据文档的this section,要实现以下目标,可以确保:
output.library
虚伪output.libraryTarget = "window"