2016-03-24 5 views
1

私はGulp 4を使用し、Typescriptをjavascriptにコンパイルしています。このため私はgulp-typescriptプラグインを使用しています。Gulp 4タイプスクリプトコンパイルエラー

エラー:これはまだコンパイルが

[17:43:02] Using gulpfile ~/Sites/dmfa/gulpfile.js 
[17:43:02] Starting 'typescript'... 
[17:43:02] Starting 'clean-typescript'... 
[17:43:02] Cleaning: ./web/js/**/*.js 
[17:43:02] Finished 'clean-typescript' after 21 ms 
[17:43:02] Starting '<anonymous>'... 
[17:43:02] Compiling TypeScript --> JavaScript 
error TS2304: Cannot find name 'Promise'. 
error TS2304: Cannot find name 'Map'. 
error TS2304: Cannot find name 'MapConstructor'. 
error TS2304: Cannot find name 'SetConstructor'. 
error TS2304: Cannot find name 'Set'. 
error TS2304: Cannot find name 'Iterator'. 
[17:43:03] TypeScript: 76 semantic errors 
[17:43:03] TypeScript: emit succeeded (with errors) 
[17:43:03] Finished '<anonymous>' after 1.75 s 
[17:43:03] Finished 'typescript' after 1.77 s 

Process finished with exit code 0 

を実際のエラーは多分オーバーに見えたこと、エラーを修正するために私にはもっと楽しいだろう、それはコンパイルんがcomplilingながら、私はエラーの束を受け取ります。

誰も私にこれらのエラーが発生する理由についていくつかの洞察を与えることができます。

答えて

1

誰かが私のためにすべてのものを修正してくれたのが不思議であった場合に備えて。 main.jsファイル(ブートストラップファイル)の一番上に以下を追加しました。このここで見つける:Angular 2 typescript can't find names

///<reference path="node_modules/angular2/typings/browser.d.ts"/> 

ファイルmain.tsファイルは、次のようになります。

///<reference path="../../../node_modules/angular2/typings/browser.d.ts"/> 
import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from './app.component'; 

bootstrap(AppComponent) 
    .catch(err => console.error(err)); 

私のtypescriptですが、私のプロジェクトにネストされているようちょうどパスがあなたのnode_modulesフォルダへの正しいパスであることを確認してください。

1

ES5/ES3をターゲットにしていて、ES6をターゲットにしてコンパイルされている場合にのみサポートされるタイスクリプトの機能を使用しているようです。この問題を解決するには、gulp-typescriptの 'target'オプションをES6に明示的に指定するか、tsconfigに指定する場合は、そこにターゲットES6を設定してください。

+0

@Amind最終結果にどのように影響しますか?すべてのブラウザがES6をサポートしているわけではないので、サポートされていないブラウザでエラーが発生しますか? – Dblock247

+0

はい。機能不足を補うためにポリフィルを使用する必要があります。たとえば約束のためにes6-promiseを使うことができます。しかし、私はあなたがこのようにすべての機能をカバーすることができるとは確信していません。あなたは、es6からes5まで、バベルなどを使ってトランシルすることもできますが、私は本当にそれを完全にカバーするとは思いません。 – Amid

関連する問題