当我向解决方案中添加一个新的typescript文件时,系统很好地为我提供了一个(预填充的).ts文件和下面的.js文件。这种配置使我认为从typescript到javascript的转换是自动的。由于.ts文件具有生成操作“typescriptcompile”,这一假设得到了加强。然而,无论我做什么(保存一个更改的ts,编译项目…),什么都不会发生。
我知道我可以将预构建步骤添加到项目中,但我真的希望typescriptcompile构建操作能够自动启动,这样我只需要保存文件,以便重新生成.js文件。要使“typescriptcompile”按预期/所需工作,我需要做什么?

最佳答案

在MVC4项目中尝试使用Type脚本时,我遇到了同样的问题,但是解决了这个问题!
使用您喜爱的文本编辑器将以下行放入项目文件中。通常在proj文件的末尾已经有一个注释掉的BeforeBuild部分,您可以用这些行替换它。重新加载项目,就可以开始了。.js文件现在将在编译期间生成。

<Target Name="BeforeBuild">
  <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

但是,请仔细查看确切的路径,可能会有所不同(例如,如果您有不同版本的typescript sdk)。类似地,如果tsc.exe已经在PATH环境变量中,则可以使用与版本无关的命令:
<Target Name="BeforeBuild">
  <Exec Command="&quot;tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>

最后,如注释中所述,您可能希望添加-c以将注释保留到命令行。这允许像卡特和ASP.NET的资源捆绑这样的工具来检索引用并按照正确的顺序呈现事物。

08-25 10:54