Razor cshtml ファイルで TypeScript を使用する方法はありますか?
たとえば、このようなもの
<script language="text/typescript">
/// typescript goes here
</script>
Razor cshtml ファイルで TypeScript を使用する方法はありますか?
たとえば、このようなもの
<script language="text/typescript">
/// typescript goes here
</script>
それが可能だ。私は、 TypeScript Compileを開発しました。これは、TypeScript から JavaScript への自動コンパイラーです。試してみてください!
TypeScript はランタイムではありません。JavaScript にクロスコンパイルされます。そのため、TypeScript を記述してコンパイルし、それを JavaScript スクリプト タグ内に含めるか、外部ファイルとして含める必要があります。
お気に入りのVS拡張機能であるWebEssentialsを確認しました
保存時に.tsファイルのコンパイルがすでに含まれています(Intellisenseの元のプラグインも使用することをお勧めします)。
ただし、これは明らかに.tsファイルに対してのみ機能します。私の意見では、javascriptではなくtypescriptを選択する複雑さに達したら、とにかく別のファイルでそれを使用する必要があります。
<script language="text/typescript">
タイプスクリプトコンパイラをページダウンロードに埋め込むことは技術的に可能であり、ブラウザにタグで書かれたコードをコンパイルさせることは技術的に可能であるというRobsの回答に追加させてください。
ただし、パフォーマンスは最適ではなく、サーバーでのプリコンパイルが優先されます。技術的には、プリプロセッサがこれを行うことを妨げるものは何もありません (T4 はそれを行うことができます)。
tsc.exe を使用して手動で TypeScript ファイルをコンパイルし、結果の Javascript をプロジェクトに追加するか、保存時にコンパイルするWeb Essentialsなどのツールを使用できます。
コンパイラーは Javascript にコンパイルできるため、ユーザーのブラウザーにオンザフライでコンパイルさせることもできます (パフォーマンスとファイルサイズを犠牲にして、コンパイラーはかなり大きくなります)。このアプローチの例は、niutech のソリューションです。
バンドルと縮小を使用している場合は、TypeScript を Javascript にコンパイルする IBundleTransform の実装をリリースしました。GitHubと NuGet (Install-Package TypeScriptBundleTransform) にあります。バンドルとミニフィケーションをまだ使用していない場合は、一見の価値があります。