Asp.net mvc 样式编译、捆绑和缩小

Asp.net mvc 样式编译、捆绑和缩小,asp.net-mvc,iis,optimization,less,system.web.optimization,Asp.net Mvc,Iis,Optimization,Less,System.web.optimization,几个月来,我一直在学习网站内容优化的各种方法,但我仍然不知道什么是正确的方法,例如,哪种“优化工作流”会产生什么效果 ASP.NET MVC通过“Microsoft.Web.Infrastructure”包提供自己的优化框架。这样,我就可以根据请求或在应用程序启动时直接在代码中定义捆绑包和缩小策略。但是,由于我的样式文件使用较少的语言编写,因此我需要事先编译它们,这可能会降低整个应用程序启动过程的速度,因此我觉得最好在应用程序的构建过程中编译这些样式文件。但话说回来,大多数样式表编译器都允许直接

几个月来,我一直在学习网站内容优化的各种方法,但我仍然不知道什么是正确的方法,例如,哪种“优化工作流”会产生什么效果

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

  • 应用程序编译时,应编译较少的文件
  • CSS文件应捆绑在一起,以减少所需的客户端请求量
  • CSS文件应最小化,以减少流量和页面总内容大小
  • 那么,实现这一目标的建议方法是什么

  • 编译LESS构建时的文件(例如使用dotless)
  • 将应用程序部署到服务器
  • 使用优化捆绑包根据请求捆绑和缩小

  • 在ASP.NET生命周期中,这种捆绑和缩小何时发生?在web应用程序的第一次启动时?在每次请求时?

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


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

    绑定和缩小将在web应用程序开始时进行。这就是我们指定流程的地方

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

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

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

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

    我希望这能回答你的问题