mvc 中的捆绑是否真的可以优化项目?

Does bundling in mvc actually work to optimize the project?

我最近在我的 MVC 项目中实施了捆绑,因此我可以自动缩小我的脚本和样式。我已经将大约 10 个脚本打包成一个包,将 10 个样式打包成一个包,并在我的布局中成功实现了它们。

我确实注意到,基本上我的服务器响应现在变长了,而我的 js/scripts 加载时间现在最短了。 所以我从 html 的加载时间 1.9 秒,脚本和样式的加载时间大约 2 秒,到 html 的加载时间 3.9 秒,脚本和样式的加载时间大约 300 毫秒。

所以我不得不问,捆绑实际上是如何工作的?是在始终在页面上实现的 IIS 上创建的程序包,还是每次发出 html 请求时都创建的程序包?或者缩小是根据要求或 CssTransformation 完成的?

捆绑包已缓存。如果在 bundle class 中没有不同的指定,那么 bundle 会在第一次请求时创建并缓存在服务器上。以下所有捆绑包请求均从缓存中提供。 Link

Bundle 基本上有助于下载多个 css or/and js 文件的网络请求和响应数量。 因此,如果您缩小所有 js 和 css,那么下载的数据量将与捆绑时几乎相同,但下载数量将限制为 2 个文件(一个 css一个 js)而不是那么多正在下载的 js 和 css 文件...