0

このモジュールを次のように取得しました。

module MyModule {
    export class Constants {
        public static WIDTH:number = 100;
        public static HEIGHT:number = 100;
        ....
    }
} 
export = MyModule;

今、別のクラスで MyModule.Constants.WIDTH を使用する必要がありますが、インポートを使用できません (このクラス js をサードパーティに配信する必要があり、requirejs を使用していません)。現在、参照を使用してコードチェックを取得していますが、このエラーが発生し続けます(トランスピリング時に)

error TS2095: Could not find symbol 'MyModule'

オートコンプリートを使用してこのエラーを取り除くにはどうすればよいですか?

4

1 に答える 1

1

TypeScript フォーラムで気を散らしていないことを願っています。そうでない場合は、繰り返します。

export一緒にimport働きましょう。両方を使用するか、どちらも使用しないでください。生成されたコードがキーワードの有無にかかわらずどのよう見えるかを確認すると、モジュールがビルドされることがわかります。サードパーティは RequireJS を使用できないため、これはあなたが望むものではないと思います。exportexport

クラスを次のように構成します。

    // file pkg/Foo.ts
module company.pkg {
    export class Foo {}
}

    // file pkg2/Bar.ts
module company.pkg2 {
    export class Bar{}
}

すべてを会社の名前空間に入れることで、別のライブラリと競合する可能性が最小限に抑えられます。/// <reference path="..." />クラスは、コンパイルを可能にする参照を使用してお互いを認識します。

あなたはモジュールを行っていないので、--out filename.js. これにより、(通常は) 正しい順序で含まれるすべてのファイルが取得されます。

于 2013-11-08T22:02:27.350 に答える