【发布时间】:2016-01-12 12:22:32
【问题描述】:
有没有办法可以将 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";
现在模块内的一切都是严格的,脚本本身不是。
【问题讨论】:
-
这就是你要找的pastee.org/kzp82 吗? (我把代码放到typescriptlang.org/Playground)
-
不,它需要使用
--module umd导出,不过谢谢:)
标签: typescript strict umd