Typescript: AMDを搭載した外部モジュールは、使用されていない場合でも常に「エクスポート」が必要です

作成日 2014年09月13日  ·  6コメント  ·  ソース: microsoft/TypeScript

モジュールを明示的にエクスポートする小さな外部モジュールを次に示します。

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」への依存関係をわざわざ宣言するのはなぜですか?

Suggestion help wanted

最も参考になるコメント

私がこれに関して尋ねたSOの質問: https

全てのコメント6件

合理的な提案のようです

承認済み

私がこれに関して尋ねたSOの質問: https

これはまだ実装されていますか? それが必要...

@amandaol問題のタグは、実装するのはコミュニティ次第であることを示しています。 まだ開いている問題と相まって、それが実装されていないことを意味します。

何それの価値については、私たちが今使っamdextractした後、私たちのビルドパイプラインでtsc削除する必要がrequireexports放出されるJSから。

https://github.com/mehdishojaei/amdextract

このページは役に立ちましたか?
0 / 5 - 0 評価