我认为这对于任何 JavaScript 框架来说都是一个问题。
我在网站上的部分页面上使用 MooTools。在某些页面上,脚本已有 2 年历史。当新页面需要 MooTools 时,我通常会下载最新版本,以避免因过去的错误而可能出现的任何问题,并利用任何新功能。
这工作得很好,因为我的旧页面仍然可以工作,而我的新页面有最新和最好的。
最近我想在网站所有页面上共享的页面元素上使用 MooTools。例如网站标题或导航。
我还没有这样做,但我认为拥有站点范围的 MooTools 版本会与旧页面上使用的现有版本发生冲突。
我不想为整个网站致力于一个版本,并且只有在测试了所有旧页面以确保它们不会因新版本而中断时才进行升级。
问题是:我有哪些选择?你们在这项工作中使用了什么解决方案?是否有允许两个版本在同一页面中共存的功能?
最佳答案
如果我必须在站点范围内提供任何给定库的多个版本,我会觉得出现了非常严重的错误。到目前为止,我已经成功地避免了这种情况,即使对于非常(非常)大的 Web 应用程序也是如此。
到了升级的时候,你就升级。如果不是,你就坚持使用 back-rev 库。这就是我熟悉的任何专业软件项目的一般工作方式。我确信存在异常(exception),但我想说,保留和提供多个副本/版本永远都不是理想的情况。
[编辑]顺便说一句,这实际上与多组件服务器端系统或老式客户端服务器系统的类似问题没有什么不同。
[另一个编辑]请注意,您的客户必须在浏览器缓存中维护您的库的单独副本,并且当他们从一个页面跳到另一个页面时,当他们在长时间访问后,他们将一直拉下新副本不存在(换句话说,缓存是旧的)。只需一份副本,他们每次访问最多只需下载一次,如果您利用 Google for jQuery 等工具,那就更好了。
关于javascript - 使用站点范围与本地页面脚本时可能存在 JavaScript 框架版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233214/