如何在多个VS网站项目中共享通用JS代码



我正在寻找使用Visual Studio来管理共享公共JS/CSS/Html/Image文件的多个网站的开发和组织的最佳方法。但是,所有这些都具有独特或不同功能的可能性,因此以某种方式模仿继承将是理想的。

我们在没有框架的情况下进行开发,只是直接使用 shtml 和 JS。没有 C#。没有 DLL 在起作用。

我们现有的网站项目已经运行了 2 年的大部分时间......但我们现在正在向 3 个新客户介绍 - 因此这篇文章。

现在是时候(可能已经过去了时间)将事物划分为公共存储桶和客户端存储桶,以便可以进行单独调整而不会对其他应用程序产生负面影响。

我在VS花了一些时间寻找合适的项目组合来让我们实现目标。我已经研究了解决方案文件夹和共享项目。但是启动一个新的空网站项目并试图引用这些项目失败了。他们可能很好地使用 C# 代码,但这不是我所拥有的。简单地尝试从 html 页面引用共享位置中的 .js 文件会给我一个 404。

我对任何会导致单一通用代码库的东西持开放态度,并能够在客户端基础上覆盖(如果可能的话)。

如果最好的方法是简单地继续单个网站项目并维护客户端文件夹,我可以使用它。我可能只需要一些有关如何根据需要"发布"每个客户端的适当文件集的指导。

对于常见的css/js,我建议你创建一个风格指南。如果您有办法,请创建一个类似 CDN 的项目。简单来说,你可以拥有一个公共的Web项目,并在那里托管你的公共css和js。然后,您可以通过URL(CDN样式)访问它们,而无需任何形式的身份验证。请记住,如果人们真的想使用它,这将使 css 和 js 或多或少地公开。

然后,您可以在css和js更改发生时管理此cdn项目。

最后,您只需为所述客户端创建一个新项目,绘制html,然后导入共享的css/js。然后在新项目中,您还可以在那里管理任何特定于项目的样式和 javascript,独立于共享的 cdn 内容。

编辑:

在普通 Web 项目中解决 html 问题,我唯一能想到的就是使用像 knockout 这样的模板库.js或者编写自己的 JavaScript 库,可以在 html 页面中读取并在 CDN 中抓取块,然后你可以 ajax 调用这些函数来异步抓取代码块。

我想我真正不明白的是,你是否总是使用完全相同的HTML,或者你是否会改变它。因为如果它完全相同,我甚至不认为需要多个项目。如果只有一些代码是相同的,那么我认为你需要一个模板系统。

最新更新