当我向解决方案中添加一个新的typescript文件时,系统很好地为我提供了一个(预填充的).ts文件和下面的.js文件。这种配置使我认为从typescript到javascript的转换是自动的。由于.ts文件具有生成操作“typescriptcompile”,这一假设得到了加强。然而,无论我做什么(保存一个更改的ts,编译项目…),什么都不会发生。
我知道我可以将预构建步骤添加到项目中,但我真的希望typescriptcompile构建操作能够自动启动,这样我只需要保存文件,以便重新生成.js文件。要使“typescriptcompile”按预期/所需工作,我需要做什么?
最佳答案
在MVC4项目中尝试使用Type脚本时,我遇到了同样的问题,但是解决了这个问题!
使用您喜爱的文本编辑器将以下行放入项目文件中。通常在proj文件的末尾已经有一个注释掉的BeforeBuild
部分,您可以用这些行替换它。重新加载项目,就可以开始了。.js文件现在将在编译期间生成。
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
但是,请仔细查看确切的路径,可能会有所不同(例如,如果您有不同版本的typescript sdk)。类似地,如果
tsc.exe
已经在PATH
环境变量中,则可以使用与版本无关的命令:<Target Name="BeforeBuild">
<Exec Command=""tsc" @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
最后,如注释中所述,您可能希望添加-c以将注释保留到命令行。这允许像卡特和ASP.NET的资源捆绑这样的工具来检索引用并按照正确的顺序呈现事物。