2016-10-14 7 views
1

typescript(2.0.0)を使ってangular2アプリケーション(2.0.0)を使用しています。それはChromeとエッジで正常に動作しますAngular2アプリがES6でIEで動作しない、ES5でコンパイルエラーが発生する

"target": "es6", 

が、それはIE11で働いていない:私のTSconfigで、私はこのラインでES6してコンパイルします。

私はES5をターゲットに、それを変更したが、その後、私のようないくつかのコンパイルエラーを取得:

ClientApp\app\services\tenant.service.ts(9,16): error TS2304: Cannot find name 'Promise'. 
ClientApp\app\components\manage\users.component.ts(70,31): error TS2339: Property 'json' does not exist on type '{}'. 

をこれは出力を生成し、実行時にんですIE11と他のブラウザで動作しているようです(私はテストしていませんすべて)。私はまだコンパイルエラーが気に入らない。

私にはcore-jsが含まれています。私はそれがこの問題の修正だと思った。

5または6を対象としますか?

IEでes6を使用する必要がありますか?私は行方不明のシムはありますか?

私はどのようにes5を使用してコンパイルエラーを取り除くことができますか?あなたが行のコードを貼り付けてください可能性があり、

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false, 
    "skipLibCheck": true 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

答えて

0

私はあなたが1秒間活字体の定義https://github.com/borisyankov/DefinitelyTyped/blob/master/es6-promise/es6-promise.d.ts

をインポートするべきだと思います最初のエラーのために:ここで

は私tsconfig.jsonのですか?

+0

私はes6を使用していました。私がes5に変更した時、多くのエラーがあります。これはほんの数です。 私は以下のようにTS定義を追加しました:/// <リファレンスパス= "../../../../ node_modules/es6-promise/es6-promise.d.ts" /> 。 –

+0

これらのTypeDefinitionを使用すると、Promiseでエラーが表示されますか? /// <リファレンスパス= "../ node_modules/typescript/lib/lib.es6.d.ts" />このTS定義をインポートした後、少なくともPromiseエラーが発生するはずです。 – dokkis

+0

私はes5もターゲットにしていますが、プロミスを使用しようとすると、node_modules/typescript/lib/lib.es2015.promise.d.tsからインポートされます。 – dokkis

関連する問題