2016-12-23 24 views
2

React typecript .tsxファイルの拡張子を.tsにすることはできますか?IDEとコンパイラは狂っていませんか?tsxの反応ファイルにtsを使用

+0

はい。ファイル拡張子は 'tsconfig'で設定できます。ファイルを明示的にリストすることも、 'include'正規表現を使うこともできます。 IDEとは何ですか?私が知っているすべてのIDEは、どちらのファイルタイプの言語でも使用できるように設定できます。 –

+0

なぜJSXを '.ts'ファイルに書きたいのですか? –

答えて

6

今のところ、拡張子が.tsxの技術的な理由があります。

JSXがTypeScriptの元の型アサーション構文について言及するのはあいまいです。具体的には、<Foo>xyzがJSXタグまたは型アサーションの開始点であるかどうかは不明です。そのため、asタイプのアサーション構文(xyz as Foo)を採用し、ファイル拡張子.tsxを導入しなければならなかったのはこのためです。

JSXをサポートするということは、TypeScriptが一般的な矢印機能のように曖昧さを解消する方法を決定しなければならないことを意味します。たとえば、この場合

let identity = <T>(x: T) => x 

TypeScriptは、これをJSXタグの先頭として解析します。要するに

let identity = <T extends {}>(x: T) => x 

:ユーザーが同等のコードを取得するために、非あいまいな形にこれを有効にする必要がJSXはJSXのためのより悪いエラー回復とコンパイラにおける重大な変更または不必要な複雑さの全体の多くを暗示しているだろうサポート。

関連する問題