如何在多个visual studio项目中组织我们的javascript

Pau*_*ema 9 javascript c# svn visual-studio-2012 typescript

在VS2012的解决方案中,我们有多个Web应用程序都需要javascript.我们使用Telerik的Kendo UI为MVC4 ASP.Net开发了一个单页面应用程序,结合了jQuery和TypeScript.

由于多个Web应用程序,我们创建了大量冗余的TypeScript,因此创建了Javascript.改变代码是一种阻力.我们必须始终同步所有Web应用程序的所有代码,这至少是令人讨厌的.

我已经研究过这个问题的几个解决方案,并且已经空了.以下是我调查的一些场景:

Visual Studio中的链接

可以将整个"文件夹"从一个项目拖动到另一个项目,同时按住Alt键.这会导致源项目中所有文件的目标项目中的链接.这在Visual Studio中可以正常工作以进行编辑.这里的问题是,在运行时,应用程序需要将文件放在执行Web应用程序层次结构内的磁盘上的位置.因为它们是指向另一个位置的链接,所以服务器无法找到这些文件.

放弃了这个解决方案.

磁盘上的符号链接

使用Windows中的"mklink"命令,可以创建所谓的"符号链接".这就像视觉工作室的魅力.可以通过将现有(符号)目录从文件资源管理器拖到Web应用程序的树中,将现有(符号)目录添加到visual studio中.然后,您可以编辑文件,更改会立即反映在原始位置.我们用这个运行了项目,并且认为我们有解决问题的方法,直到我们想要将其检查到Subversion.Subversion认为它是一个真实的文件夹,并尝试使用原始位置的版本信息签入文件.经过几个令人沮丧的反复试验后,我也放弃了这个解决方案.我们尝试了符号链接和连接点,但在这两种情况下我们都无法使用它.

放弃了这个解决方案.

更多调查

我还查看了使用WebResources.asxd结合JavaScript作为嵌入资源的ASP.Net应用程序中使用的解决方案.我们也放弃了这一点,因为在增加的复杂性的帮助下,它会在开发过程中增加我们的周转时间.我们必须为某些JavaScript文件中的每个更改构建解决方案,这样我们就会失去现在非常快速的编辑可能性.我们现在可以简单地更改JavaScript,将其保存到磁盘并刷新浏览器以使更改变为活动状态.

我们最喜欢的选项是具有符号链接的选项,但我们还没有找到SubVersion与该问题的工作.

bah*_*rep 6

如果你想在Subversion存储库中有类似符号链接的引用,你应该考虑svn:externals:

这样您就可以创建指向公共代码的链接.


Man*_*ntz 5

您是否考虑过为您的 javascript 创建 NuGet 包?这是管理依赖关系的好方法,您可以为此创建本地源。

如果您一直使用 git 进行版本控制,我可能会建议使用子模块。AFAIK svn 没有等效的。更正:请参阅@bahrep 的回答。