有没有办法可以将 TypeScript 类导出为启用严格模式的 UMD 模块?“gotcha”是严格模式部分。
我的代码看起来像:
class Foo {
bar(): Foo.Bam {}
}
namespace Foo {
export function boom() {}
export interface Bam {}
}
export = Foo;
该模块可以在其他地方使用,例如:
import * as Foo from 'my-module';
var foo = new Foo();
foo.bar()
Foo.boom();
interface Kaboom extends Foo.Bam {}
我希望严格模式适用于所有Foo
,但不适用于整个脚本,因为它可能与其他未知脚本连接。
定义文件也在生成中。
我可以在构建过程中将所有内容都包装在一个闭包中,但我首先要寻找一个预编译解决方案。
编辑:
为我的问题添加了更多详细信息,以防有人将来找到方法。
我最终只是添加了一个简单的编译后修复。UMD模块生成后。我替换这一行:
})(["require", "exports"], function (require, exports) {
有了这条线:
})(["require", "exports"], function (require, exports) {"use strict";
现在模块内的所有内容都是严格的,而脚本本身则不是。