最近は誰もがタイプスクリプトを強制しています。多くのファンとそれに関する記事があります。Angular チームは TS でフレームワークを作成しています。しかし、ES6 から TS への移行に関する私の経験は、非常に残念なものでした。
先月、比較的新しいコードベース (ES6 で作成) を Typescript に移行しようとしましたが、多くの落とし穴に直面しました!
明確にするために、mocha 単体テストと ESLint が構成された node.js アプリケーションについて話しています (babel を使用してトランスパイルします)。
まず、型チェックを強化するために、noImplicitAny
オプションを設定し、数百のエラーを取得して修正しました。しかし、その後、typescriptがいくつかのnode.js定義済みモジュールを理解していないために入力エラーが発生しましstream
た(多くのモジュールの入力がないため、実際には問題はさらに大きくなります)。
その後、ライブラリファイルを管理するtypings
ためのツールをインストールしました-推奨される代替ツールですが、タイプ定義です。tsd
d.ts
node
stream
さらに、typescript は実際にはジェネレーターなど、ES6 の多くの機能を ES5 にコンパイルしていないことがわかりました。複雑なビルド プロセス (TS -> (typescript) ES6 -> (babel) ES5) を作成する必要があり、元のソース マップを無駄にする必要がありました。
上記のすべての構成には多くの時間がかかりました。
だから、私は混乱しています。typescript の背後にあるアイデアは本当に気に入っていますが、実装は私には失礼に思えます。私が間違っていることを願っています。
HelloWorldのプロジェクトではなく、実際のプロジェクトでTypescriptを使用した人が、私が何を間違っているのか説明してくれるでしょうか?