首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将TypeScript源放在单独的VS项目中?

如何将TypeScript源放在单独的VS项目中?
EN

Stack Overflow用户
提问于 2017-01-03 12:12:21
回答 2查看 136关注 0票数 1

我有一个长期运行的web项目(3-4岁),它基于ASP.NET MVC 5,我也有一个用TypeScript编写的大型客户端代码库。由于以前的约定,TypeScript源代码是MVC 5 csproj项目的一部分,因此它与后端一起编译。

由于种种原因,这种结构是非常不幸的。主要有以下几个方面:违反SRP,强耦合到后端,无法单独维护和构建后端,无法单独维护和构建前端等。

我想将客户端代码库分离到一个新的Visual项目中,但是,我不知道最好的方法是什么,因为Visual没有提供一种拥有干净的TypeScript项目的方法(至少据我所知)。

我将Visual 2015与TypeScript 2.0结合使用。我有什么选择?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 12:18:26

首先,如果客户端代码( TypeScript应用程序)不需要它自己的Web.config文件--也就是说,您不需要配置IIS授权、重定向等等--您可以简单地在Visual 中使用 "HTML TypeScript" 项目类型。

但是,如果您的客户端和服务器代码都需要自己的Web.config,并且它们被部署到同一个IIS网站上,那么拥有两个单独的ASP.NET项目就变得更加困难了,因为其中一个需要合并两个Web.config文件…。这是不可能的AFAIK。

我也面临着类似的问题,但在我的例子中,我有一个用TypeScript编写的基于AngularJS的web应用程序和一个ASP.NET Web后端。

到目前为止,我所能想到的不需要任何额外的构建步骤的最好方法是不将TypeScript代码移动到单独的项目中,而是移动Web / MVC代码而不是。客户端TypeScript在ASP.NET web项目中结束,Web进入类库。

剩下的两个痛点是共享的Web.config和通过Global.asax引导Web,这最终导致了“错误”项目。关于Web.config,可以通过.config机制将Web配置进一步提取到一个单独的configSource文件中。我看不出有什么方法可以让Global.asax中的Web引导从(否则只有客户端的代码) ASP.NET项目中获得。

票数 1
EN

Stack Overflow用户

发布于 2017-01-03 12:41:24

IMO,像javascript或css这样的客户端代码应该与您的“后端”代码一起使用,后端代码并不意味着您的整个后端代码,它应该是一个只处理http请求和服务器端呈现的瘦控制器层应用程序。

您可以将您的单片应用程序划分为多个service layer和一个frontend layer,后者只处理httprequest和呈现

仅将javascript和css分离到单个项目的问题是

  1. 这使得部署变得复杂,当客户端代码和服务器代码之间存在不兼容时,您不知道应该先部署哪一个
  2. 当您将客户端代码与后端分离时,不能执行js散列(不需要处理客户端缓存)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41443297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档