mvc项目中javascript和css文件的浏览器缓存

Browser Caching of javascripts and css files in mvc project

本文关键字:文件 浏览器 缓存 css 项目 javascript mvc      更新时间:2023-09-26

我必须在SPA中缓存静态javscript和css文件(durandal+knockout)。当我在应用程序的webconfig中设置debug='false'时,应用程序会出现"jQuery未定义"answers"KO未定义"错误。即使捆绑包具有jQuery和KO javascript库,这种情况也会发生。

对此问题有什么建议和解决方案??

特别提到静态JavaScript和CSS的缓存以及debug='false'的重要性是什么;你觉得先提到它很重要,但没有告诉我们它有什么特别之处,以及我们为什么需要考虑它。-如果这对问题至关重要,我们需要更多信息。

即。缓存的特殊之处在于它位于您站点之外的其他地方吗?你的应用程序在调试模式下会做一些不同的事情吗?为什么debug='false'会影响仅依赖于您请求的URL的捆绑包?

我的猜测

您的应用程序在调试模式下是否会发出不同的请求,以便它可以看到库的各个调试版本,而不是一个大的单行文件?

将这两个库包含在非调试版本中。我经常看到MVC项目使用部分视图来加载CSS和JavaScript

类似于_Script.cshtml

@if (HttpContext.Current.IsDebuggingEnabled)
{
 ...  All the debug ./ developer versions of files listed here individually
}
else
{
    @Scripts.Render("~/bundles/jquery")
}

此外,如果您的静态内容"缓存"在一个单独的URL/Site/CDN上,并且您使用NuGet安装Knockout或其他库,那么安装在本地/Scripts文件夹中的位置完全可能是本地的,而不是其他站点。