TypeScriptCompile构建操作似乎没有做任何事情

Wvd*_*007 14 typescript

当我向我的解决方案添加一个新的TypeScript文件时,系统很好地给了我一个(预填充的).ts文件,下面是.js文件.这种配置让我觉得从TypeScript到JavaScript的转换是自动的..ts文件具有Build Action'TypeScriptCompile'这一事实加强了这一假设.但是,无论我做什么(保存更改的ts,编译项目......),都没有真正发生.

我知道我可以为项目添加预建步骤,但我真的希望TypeScriptCompile构建操作能够自动启动,这样我只需要保存要重新生成的.js文件的文件.我需要做什么才能使'TypeScriptCompile'按预期/期望工作?

小智 9

尝试在MVC4项目中使用TypeScript时遇到了同样的问题,但解决了问题!

使用您喜欢的文本编辑器将以下行放入项目文件中.BeforeBuild通常在proj文件的末尾有一个注释掉的部分,您可以用这些行替换它们.重新加载项目,你很高兴.现在将在编译期间生成.js文件.

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

仔细看看确切的路径,它可能会有所不同(例如,如果您有不同版本的Typescript SDK).同样,如果tsc.exe已经在您的PATH环境变量中,则可以使用与版本无关的命令:

<Target Name="BeforeBuild">
  <Exec Command="&quot;tsc&quot; @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
</Target>
Run Code Online (Sandbox Code Playgroud)

最后,如注释中所述,您可能希望添加-c以保留对命令行的注释.这允许像cassette和asp.net的资源捆绑这样的工具检索引用并以正确的顺序呈现内容.

  • 您可能希望添加-c以保留对命令行的注释.这允许像cassette和asp.net的资源捆绑这样的工具检索引用并以正确的顺序呈现内容 (2认同)