7

ループ内で「ui」をインポートしようとしています(に基づく動的ロード用_moduleList。これは正常に機能します:

var _moduleList: Array<string>;
_moduleList.push("mdlGame");
import _tmp = require("ui");
for (var _i: number = 0; _i < _moduleList.length; ++_i) {

}

一方、これは の下に赤い波線を表示し、import「予期しないトークン; 'statement' が期待されます.」と言っています:

var _moduleList: Array<string>;
_moduleList.push("mdlGame");
for (var _i: number = 0; _i < _moduleList.length; ++_i) {
    import _tmp = require("ui");
}

importステートメントとしてカウントされませんか?ここで何が起こっているのですか?それを回避する方法はありますか?

4

2 に答える 2

4

importキーワードは、ファイルのルート レベルでのみ使用できます。たとえば、次のようになります。

declare module"ui"{}

//  Bad 
{
    import foo = require("ui");
}

// okay 
import bar = require("ui");

本当に必要な場合は、基本的な JS に戻すことができます:

declare module"ui"{}
declare var require; 

//  okay now 
{
    var foo = require("ui");
}

しかし、その後、2 つのファイル間の型安全性が失われます

于 2013-10-10T02:53:49.063 に答える