Ric*_*der 43 asp.net-mvc typescript
我喜欢打字稿背后的想法,但似乎无法弄清楚如何将它包含在ASP.Net MVC项目中.我已经安装了Visual Studio扩展,但我似乎无法找到有关如何添加*.ts
编译成*.js
文件的文件的示例或文档.
编辑:实际上,我应该复制Win8示例.jsproj
包含和处理.ts
文件的方式吗?或者这只适用于HTML/JS Win8项目?
Ric*_*der 25
警告:这个答案现在相当过时,因为这个答案后,Typescript和MVC都发生了重大变化.我稍后会尝试更新. - Richcoder
感谢Sohnee的回答.
您可以使用"添加">"新建项"对话框将TypeScript文件添加到现有项目中.
请注意,'Typescript File'项不在Web组下,而是在它的父级下,在本例中是Visual C#.
这应该添加一个TypeScript文件,Visual Studio将完成剩下的工作.
然后,您需要将这些行添加到项目文件中:
<ItemGroup>
<AvailableItemName Include="TypeScriptCompile" />
</ItemGroup>
<ItemGroup>
<TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>
<Target Name="BeforeBuild">
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" -target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" IgnoreExitCode="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)
它对我来说很完美,但如果您遇到任何问题,请发表评论.
moh*_*azy 19
那是正确的.您只需要将.ts文件构建到.js文件中的ms构建目标.Win8示例显示了一个beforeBuild目标,用于在属于itemGroup TypeScriptCompile的所有文件上调用tsc,该文件定义为$(ProjectDir)***.ts(或项目中的所有.ts文件).
复制此模式应该适用于任何msbuild项目,而不仅仅是Win8项目.
以下是我正在讨论的示例:将其添加到任何msbuild项目中,并且您应该在构建开始时将任何.ts文件编译到等效的.js文件中.
<ItemGroup>
<TypeScriptCompile Include="$(ProjectDir)\**\*.ts" />
</ItemGroup>
<Target Name="TypeScriptCompile" BeforeTargets="Build">
<Message Text="Compiling TypeScript files" />
<Exec Command=""$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc" -target ES5 @(TypeScriptCompile ->'"%(fullpath)"', ' ')" />
</Target>
Run Code Online (Sandbox Code Playgroud)
我把一个nuget包放在一起,将一个msbuild目标文件添加到你的项目中.它将运行tsc编译器并清理其输出,以便您可以双击Visual Studio中的错误并跳转到文件/行/列.
https://www.nuget.org/packages/Sholo.TypeScript.Build
您需要将属性窗口中的构建操作设置为'TypeScriptCompile',以用于您希望tsc编译的任何内容.从修补TypeScript的几天开始,我发现正在进行引用的.ts文件应该设置为TypeScriptCompile,但是只引用的文件不应该,而是ymmv.此外,您可能需要显示所有文件并添加原始.js文件.如果要将相关的.ts/.js/.d.ts文件组合在一起,请查看VsCommands扩展.NetDemon /类似扩展的工作流程也很不错.
归档时间: |
|
查看次数: |
34289 次 |
最近记录: |