我有两个网络应用程序。它们是SPA解决方案,前端逻辑采用Javascript / AngularJS编码。
每个都是作为解决方案开发的,我使用Visual Studio来管理我的编辑解决方案。它们作为Azure的应用程序发布。他们共享C#后端代码,所以我创建了一个公共项目,为此添加了C#代码并将其包含在两个解决方案中。
应用程序有自己的javascript但也共享javascript代码。
有什么方法可以将javascript放入一个公共项目并让它共享吗?对我来说问题是我的Web应用程序希望看到/ content目录中的内容,当然这只是在同一个项目中。
答案 0 :(得分:3)
接下来的问题是如何分享它。在您要放置文件的项目中,例如MyProject.FrontEnd
选择文件所在的文件夹,单击右键并选择Add Existing File
。这将打开一个弹出窗口来选择文件。当您选择文件时,不要点击Add
按钮,而是点击Add
旁边的箭头,然后选择Add as a link
。
通过这种方式,您将注意到该文件将出现在所选文件夹中。当您将链接文件拖到html时,它将创建一个脚本标记,其中src源指向另一个项目,它在开发状态下正常。
就我而言,我配置MSBuild,在构建解决方案时自动复制链接文件。
我希望它有所帮助。 : - )
答案 1 :(得分:1)
我会将JS代码转换为NuGet包并将其托管在MyGet或私有Feed上。然后在两个项目中引用它。如果您愿意,这也允许您对其进行版本化并稍后更新。
或者,您可以编写某种构建后事件,从公共路径中抓取它们并将它们放在项目的文件夹中。
如果您使用任何类型的持续集成,NuGet可能是您最好的选择,否则您需要确保任何临时环境也可以访问构建后事件的目录。