ASP.NET MVC:脚本捆绑何时决定更改bundle的版本



我曾经把"?v=n"放在脚本引用的末尾,比如:

<script type="text/javascript" src="@Url.Content("~/Scripts/Foo.js")?v=2"></script>

每次我编辑.js时,我都会在该版本控制中添加 1,例如:

<script type="text/javascript" src="@Url.Content("~/Scripts/Foo.js")?v=3"></script>

我决定不能继续这样下去(我现在有太多脚本),所以我开始使用 ASP.NET MVC捆绑功能(BundleConfig, BundleCollection, RegisterBundles,等等)。

实际上,一个版本会自动分配给捆绑包:

<script src="/Scripts/Bundles/Foo?v=EjpuCsTAfNN9NMv5E8hER41p25Zj9w6ncqWRsYdqQUY1"></script>

我的问题是:
该版本何时更改?我可以依靠这个吗?它在内部如何工作?

可能是错的,但有一次我不得不手动刷新浏览器以便更新脚本,因为我对脚本所做的微小更改没有对版本生效。

是什么原因造成的?
版本控制中是否考虑了微小的更改?

.net 如何生成捆绑包的版本?

捆绑

包的版本是所有捆绑内容的SHA256 based hash

因此,如果您要更改捆绑文件的任何数据 - 版本将更改。

最新更新