这是一个显式导出模块的小型外部模块:
module Foo {
export var foo = 42;
}
export = Foo;
为此生成的代码是:
define(["require", "exports"], function(require, exports) {
var Foo;
(function (Foo) {
Foo.foo = 42;
})(Foo || (Foo = {}));
return Foo;
});
这感觉很糟糕,因为AMD需要“导出”魔术依赖,但是您不使用它,而是直接返回Foo。
对于最小的AMD加载程序来说,这很烦人,因为它们无法假设模块的对象返回是您的“导出”对象,而不得不猜测您确实打算返回会覆盖您所要求的“导出”对象的东西。
此外,为什么不使用“ require”时就声明依赖呢?
似乎是一个合理的建议
得到正式认可的
所以我问了这个问题: https :
这已经实施了吗? 我需要它...
@amandaol问题上的标签表明,这取决于社区来实施。 再加上该问题仍未解决,则意味着该问题尚未实现。
对于它的价值,我们现在在tsc
之后的构建管道中使用amdextract
exports
从发射的JS中删除不必要的require
和exports
。
最有用的评论
所以我问了这个问题: https :