在cshtml文件中使用TypeScript

时间:2012-10-02 17:44:23

标签: razor typescript

我想知道有没有办法在Razor cshtml文件上使用TypeScript?

例如,像这样

<script language="text/typescript">
/// typescript goes here
</script>

5 个答案:

答案 0 :(得分:19)

TypeScript不是运行时;它被交叉编译成JavaScript。因此,您需要编写TypeScript,编译它,然后将其包含在JavaScript脚本标记内或作为外部文件。

答案 1 :(得分:17)

这是可能的。我已经开发了TypeScript Compile - 一个动态地自动编译TypeScript到JavaScript。试一试!

答案 2 :(得分:5)

让我向Robs回答说,技术上可以在页面下载中嵌入typescript编译器,并让浏览器编译用<script language="text/typescript">标签编写的代码。

但是,性能不是最理想的,并且首选服务器上的预编译。从技术上讲,没有什么能阻止预处理器这样做(T4可以做到这一点)。

答案 3 :(得分:5)

我刚刚查看了我最喜欢的VS扩展程序:Web Essentials

他们已经在保存时包含.ts文件编译(建议也使用Intellisense的原始插件)。

这显然只适用于.ts文件。在我看来,一旦你达到了通过javascript选择打字稿的复杂性,无论如何你应该在一个单独的文件中使用它。

答案 4 :(得分:2)

您可以使用tsc.exe手动编译TypeScript文件,然后将生成的Javascript添加到项目中,或使用在保存时编译的Web Essentials工具。

由于编译器可以编译为Javascript,您也可以让用户的浏览器动态进行编译(以性能和文件大小为代价,编译器相当大)。这种方法的一个例子是niutech的解决方案。

如果您正在使用Bundling和Minification,我刚刚发布了一个将TypeScript编译为Javascript的IBundleTransform实现。它位于GitHub和NuGet(Install-Package TypeScriptBundleTransform)上。如果你还没有使用捆绑和缩小,那么值得一看!