如何在visualstudio中更新所有表单中的javascript文件版本



我正在开发一个web应用程序。我使用的是大多数表单中都使用的主javascript文件。

<script src="assets/public.js"></script>

此文件正在定期更新,用户无法获得上次更新的文件,因为旧文件已通过浏览器缓存。因此,我在文件名末尾使用版本指示符来强制浏览器使用我的javascript文件的最新版本:

<script src="assets/public.js?version=54"></script>

在javascript文件中的每次更改之后,我都应该更新每个表单中的版本。这是一项非常耗时的手动任务,并且可能会错过一些表单的更新。

是否有任何有效的方法将上一个版本定义为常量,并自动更新有关上一版本的所有表单?

在您的项目中,您需要在[BundleConfig.cs]文件中有一个文件夹[App_Start],您可以注册捆绑包:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/public-{version}.js"));

并在视图中添加以下内容:

<head>
@Scripts.Render("~/bundles/public")
</head>

每次change.js版本更新文件[BundleConfig.cs]中的变量{version}时

可以使用文件的最后修改日期作为版本指示符。所以甚至不需要定义常数。

<script src="asset/public.js?version={{lastModifiedDate('asset/public.js')}}"></script>

以下函数返回文件的最后修改日期:

function lastModifiedDate(url) {
try {
var req = new XMLHttpRequest();
req.open("HEAD", url, false);
req.send(null);
if (req.status == 200) {
return req.getResponseHeader('Last-Modified');
}
else return false;
} catch (er) {
return er.message;
}
}

最新更新