Asp.net mvc 如何将TypeScript构建为独立于MVC项目并依赖于MVC项目的项目,并将生成的JavaScript复制到MVC项目中? 陷害
我有一个MVC项目,其中包含C#类,这些C#类最终通过ajax进行序列化和使用,等等。我使用生成这些C#类的定义(TypeLite的替代方案在中讨论),因此我可以对使用这些json序列化C#类的代码进行编译时检查。这样,如果C#定义发生更改而我的TypeScript代码没有更改,我将得到一个编译时错误,因为它直接与C#定义关联 初始问题 目前,我的TypeScript与我的C#类存在于同一个项目中。所以我有一个非常奇怪的循环依赖问题。要解决这个问题,我必须遵循一个非常特殊的模式Asp.net mvc 如何将TypeScript构建为独立于MVC项目并依赖于MVC项目的项目,并将生成的JavaScript复制到MVC项目中? 陷害,asp.net-mvc,build,typescript,webdeploy,typelite,Asp.net Mvc,Build,Typescript,Webdeploy,Typelite,我有一个MVC项目,其中包含C#类,这些C#类最终通过ajax进行序列化和使用,等等。我使用生成这些C#类的定义(TypeLite的替代方案在中讨论),因此我可以对使用这些json序列化C#类的代码进行编译时检查。这样,如果C#定义发生更改而我的TypeScript代码没有更改,我将得到一个编译时错误,因为它直接与C#定义关联 初始问题 目前,我的TypeScript与我的C#类存在于同一个项目中。所以我有一个非常奇怪的循环依赖问题。要解决这个问题,我必须遵循一个非常特殊的模式 更新C#类 编译
.csproj
等中:
<Content Include="src\**\*.*">
</Content>
然后使用grunt ts
之类的工具从外部编译这些文件:
另外还有一个好处:你的队友可以使用他们喜欢的任何TS编辑器,而不是VS。这也有助于你的设计师。我使用typelite很短一段时间,我所做的是:
当我编译我的WWW网站时,实体项目被编译,并且.ts文件被重新生成。.ts文件正好位于我希望它们放置的位置,一切正常。当TypeScript编译器无法处理大量源文件时,我们使用了一种非常简单的方法: 在MVC项目的子目录下创建typescript项目: 因此,如果您的MVC结构如下所示:
\Content
\Controllers
\Scripts
在以下位置创建TypeScript项目:
\Content\tscode\TypeScriptProject.sln.
然后,在typescript项目中,可以引用项目根目录下的文件:
/// <reference path="../../../Scripts/typings/jasmine/jasmine.d.ts"/>
//
然后,您应该能够在TypeScript之前设置生成定义以生成MVC。希望这能有所帮助。这是一个非常有趣的方法,Basarat,很高兴收到你的来信!我需要关注你的youtube视频。我完全忘了用咕噜!因为这里的每个开发人员都使用VS,我们使用TFS进行构建,所以我想要一些集成到MSBuild中的东西。因此,我将研究如何将grunt ts集成到msbuild构建中。是否有任何类型的*.proj文件可用于grunt/grunt ts?到目前为止,我已经尝试过删除csproj并添加必要的目标,以使其构建.js文件。到目前为止,这是我最喜欢的两条线索。找到了一篇关于grunt ts和visual studio的好文章!这样,我就可以在MVC项目中包含TypeScript,并通过grunt和后期构建任务来构建它们。这将解决复制文件的问题。只要我不在csproj中包含.targets文件,它就不会尝试构建类型脚本(将其留给grunt ts)