样式编译,捆绑和缩小

时间:2014-05-07 10:52:29

标签: asp.net-mvc iis optimization less system.web.optimization

我几个月来一直在了解网站内容优化的各种方法,但是我仍然对正确的方法感到困惑,例如:哪个' 优化工作流程'产生了什么影响。

ASP.NET MVC 通过' Microsoft.Web.Infrastructure '提供自己的优化框架。包。有了这个,我可以根据请求或应用程序启动时直接在代码中定义捆绑和缩小策略。但是,由于我的样式文件是用 less 编写的,我需要事先编译它们,这可能会减慢整个应用程序的启动过程,所以我觉得在构建过程中编译它们可能会更好。应用程序。但话说回来,大多数样式表编译器允许直接捆绑和最小化,那么为什么不在那里做任何事情呢?

  1. 应用程序编译时应编译少量文件
  2. CSS 文件应捆绑在一起以减少所需的客户端请求数量
  3. CSS 文件应最小化,以减少流量和整体页面内容的大小
  4. 那么,建议的实现方法是什么?

    1. 在构建时编译 LESS 文件(例如无点)
    2. 将应用程序部署到服务器
    3. 使用优化捆绑
    4. 按要求捆绑和缩小

      这个捆绑和缩小是什么时候在ASP.NET生命周期中发生的?在Web应用程序的第一次启动?每次请求?

2 个答案:

答案 0 :(得分:0)

在应用程序启动时发生捆绑和缩小。

默认情况下,捆绑包是在第一个请求上创建的,然后在服务器上缓存。然后,缓存版本将用于所有其他请求。

答案 1 :(得分:0)

捆绑和缩小发生在Web应用程序的开头。这是我们指定流程的地方。

有些工具允许您明确地执行此操作,在这种情况下,我们直接加载.min.js文件。 当我们使用任何工具创建min.js时,源文件和缩小文件是不同的。这些是通过地图文件映射的。

当我们在开发期间更新源文件时,有可能在更改源.js文件时不更新min.js文件。当文件受源控制时,此问题更加突出。在部署期间的这种情况下,通常会发现源计算机中的更改不会反映在部署中。

捆绑和缩小的最佳方法是采用ASP .NET提供的优化框架,这与其他外部工具不同,动态完成工作。

当编译debug = true时,它会跳过进程并加载原始文件而不进行捆绑,当它为false时,框架会捆绑所有指定的JS和CSS文件并将其部署到服务器。

我希望这能回答你的问题。

相关问题