有没有办法可以用Visual Studio在两个AngularJS Web解决方案之间共享javascript代码?

时间:2014-11-21 13:01:06

标签: javascript html angularjs visual-studio visual-studio-2013

我有两个网络应用程序。它们是SPA解决方案,前端逻辑采用Javascript / AngularJS编码。

每个都是作为解决方案开发的,我使用Visual Studio来管理我的编辑解决方案。它们作为Azure的应用程序发布。他们共享C#后端代码,所以我创建了一个公共项目,为此添加了C#代码并将其包含在两个解决方案中。

应用程序有自己的javascript但也共享javascript代码。

有什么方法可以将javascript放入一个公共项目并让它共享吗?对我来说问题是我的Web应用程序希望看到/ content目录中的内容,当然这只是在同一个项目中。

2 个答案:

答案 0 :(得分:3)

好消息是,有一种非常好的方法可以做到这一点。 您可以创建一个名为Shared的第三个项目。该项目将包含您要共享的所有常用代码。

接下来的问题是如何分享它。在您要放置文件的项目中,例如MyProject.FrontEnd选择文件所在的文件夹,单击右键并选择Add Existing File。这将打开一个弹出窗口来选择文件。当您选择文件时,不要点击Add按钮,而是点击Add旁边的箭头,然后选择Add as a link

enter image description here

通过这种方式,您将注意到该文件将出现在所选文件夹中。当您将链接文件拖到html时,它将创建一个脚本标记,其中src源指向另一个项目,它在开发状态下正常。

就我而言,我配置MSBuild,在构建解决方案时自动复制链接文件。

我希望它有所帮助。 : - )

答案 1 :(得分:1)

我会将JS代码转换为NuGet包并将其托管在MyGet或私有Feed上。然后在两个项目中引用它。如果您愿意,这也允许您对其进行版本化并稍后更新。

或者,您可以编写某种构建后事件,从公共路径中抓取它们并将它们放在项目的文件夹中。

如果您使用任何类型的持续集成,NuGet可能是您最好的选择,否则您需要确保任何临时环境也可以访问构建后事件的目录。