Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在多个VS网站项目中共享通用JS代码_Javascript_Html_Visual Studio - Fatal编程技术网

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

Javascript 如何在多个VS网站项目中共享通用JS代码,javascript,html,visual-studio,Javascript,Html,Visual Studio,我正在寻找使用VisualStudio管理多个网站的开发和组织的最佳方法,这些网站将共享常见的JS/CSS/Html/图像文件。然而,所有这些都有可能具有独特或不同的功能,因此以某种方式模仿继承将是理想的 我们在没有框架的情况下开发,只是直接使用shtml和JS。没有C#。没有DLL在起作用 我们现有的网站项目已经运行了两年的大部分时间了,现在。。。但我们现在正在为这一组合引入3个新客户——因此这篇文章 现在是时候(可能已经过了一段时间)在公共存储桶和客户端存储桶中进行切分了,这样就可以在不影响

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

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

我们现有的网站项目已经运行了两年的大部分时间了,现在。。。但我们现在正在为这一组合引入3个新客户——因此这篇文章

现在是时候(可能已经过了一段时间)在公共存储桶和客户端存储桶中进行切分了,这样就可以在不影响其他应用程序的情况下进行单独的调整

我花了一些时间在VS中寻找合适的项目组合,以使我们达到目标。我查看了解决方案文件夹和共享项目。但是,创建一个新的空网站项目并尝试引用这些项目失败了。他们可能会很好地使用C代码,但这不是我所拥有的。只要尝试从html页面引用共享位置中的.js文件,我就会得到404

我对任何会产生单一公共代码库的东西都持开放态度,并且能够在客户机基础上重写(如果可能的话)


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

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

然后,只要css和js发生更改,您就可以管理这个cdn项目

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

编辑:

我能想到的解决vanilla web项目中html问题的唯一方法是使用模板库(如knockout.js)或编写自己的javascript库,该库可以读取html页面并在CDN中获取块,然后您可以通过ajax调用这些函数异步获取代码块


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

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

然后,只要css和js发生更改,您就可以管理这个cdn项目

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

编辑:

我能想到的解决vanilla web项目中html问题的唯一方法是使用模板库(如knockout.js)或编写自己的javascript库,该库可以读取html页面并在CDN中获取块,然后您可以通过ajax调用这些函数异步获取代码块


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

真棒的回答。我们也一直在讨论这个问题。虽然这最终可能成为共享JS和CSS的方法,但它并不能解决共享HTML的问题。我很感激我所要求/寻找的可能不可能,但我无法想象我们是这艘船上唯一的人。再次感谢@Matt我编辑了答案以提供更多信息。回答很棒。我们也一直在讨论这个问题。虽然这最终可能成为共享JS和CSS的方法,但它并不能解决共享HTML的问题。我很感激我所要求/寻找的可能不可能,但我无法想象我们是这艘船上唯一的人。再次感谢@Matt I编辑了答案以提供更多信息。