在大型遗留项目中对 javascript 文件进行版本控制的最佳方法是什么 asp.net
本文关键字:版本控制 最佳 方法 net asp 是什么 文件 大型 项目 javascript | 更新日期: 2023-09-27 17:56:45
当我们更改客户端时,客户端的大多数资源都存在缓存问题,因为客户端的缓存不会在每个版本中都失效。
可能的解决方案 1:来自 .net MVC,我正在考虑制作一个处理每个资源并为其分配版本的示例的帮助程序,例如:
@SomeHelper.VersionJsFile("~/scripts/somejs1","~/scripts/somejs2","~/scripts/somejs3")
将输出:
<script src="~/scripts/somejs1?v=1234">
<script src="~/scripts/somejs2?v=1234">
...
问题是:我不知道如何在ASP .net中做类似的事情。问题2:很多文件,可能会忘记其中一些。
可能的解决方案 2:另一种解决方案是遍历所有文件(很多文件......实际上,文件加载过多)并手动输入版本:
<script src="scripts/somejs1.js?v=<%=version %>
问题:文件很多,可能会忘记其中一些。
可能的解决方案 3:编写自定义筛选器流,如以下示例中所述:筛选器流示例
问题:危险,如果过滤器崩溃,客户端可能根本无法使用该软件。问题2:很难"正确实现,因为我不习惯使用流。问题3:对于未来的开发人员来说,维护起来相当"困难"。
可能的解决方案4:使用YUI压缩工具。别想了。这是遗留代码,为时已晚。
我的问题:在这样的系统中对文件进行版本控制的最佳方法是什么?如果我已经找到了好的解决方案,您是否有关于如何正确实施所述解决方案的提示?
我很幸运地使用盒式磁带来捆绑和版本控制 js 资源。 它支持 Web 表单,并且仅在选项中用于版本控制/缓存无效化。 这需要在配置中对资源进行一些设置,但您只需在一次位置配置它,页面就可以在需要时引用其资源。