在ASP中配置HTML最小化.净MVC

本文关键字:最小化 MVC HTML 配置 ASP | 更新日期: 2023-09-27 18:09:36

我正在为我的项目实现最小化。我已经按照文档做了更改。

这是我更新的网页。配置文件:

<webMarkupMin xmlns="http://tempuri.org/WebMarkupMin.Configuration.xsd">
<core>
  <html whitespaceMinificationMode="Medium" removeHtmlComments="true"
     removeHtmlCommentsFromScriptsAndStyles="true"
     removeCdataSectionsFromScriptsAndStyles="true"
     useShortDoctype="true" useMetaCharsetTag="true"
     emptyTagRenderMode="NoSlash" removeOptionalEndTags="true"
     removeTagsWithoutContent="false" collapseBooleanAttributes="true"
     removeEmptyAttributes="true" attributeQuotesRemovalMode="Html5"
     removeRedundantAttributes="true"
     removeJsTypeAttributes="true" removeCssTypeAttributes="true"
     removeHttpProtocolFromAttributes="false"
     removeHttpsProtocolFromAttributes="false"
     removeJsProtocolFromAttributes="true"
     minifyEmbeddedCssCode="true" minifyInlineCssCode="true"
     minifyEmbeddedJsCode="true" minifyInlineJsCode="true"
     processableScriptTypeList="" minifyKnockoutBindingExpressions="false"
     minifyAngularBindingExpressions="false" customAngularDirectiveList="" />
  <css defaultMinifier="KristensenCssMinifier">
    <minifiers>
      <add name="NullCssMinifier" displayName="Null CSS Minifier"
         type="WebMarkupMin.Core.Minifiers.NullCssMinifier, WebMarkupMin.Core" />
      <add name="KristensenCssMinifier"
         displayName="Mads Kristensen's CSS minifier"
         type="WebMarkupMin.Core.Minifiers.KristensenCssMinifier, WebMarkupMin.Core" />
    </minifiers>
  </css>
  <js>
    <minifiers>
      <add name="NullJsMinifier" displayName="Null JS Minifier" type="WebMarkupMin.Core.Minifiers.NullJsMinifier, WebMarkupMin.Core" />
      <add name="CrockfordJsMinifier" displayName="Douglas Crockford's JS Minifier" type="WebMarkupMin.Core.Minifiers.CrockfordJsMinifier, WebMarkupMin.Core" />
    </minifiers>
  </js>
  <logging>
    <loggers>
      <add name="NullLogger" displayName="Null Logger" type="WebMarkupMin.Core.Loggers.NullLogger, WebMarkupMin.Core" />
      <add name="ThrowExceptionLogger" displayName="Throw exception logger" type="WebMarkupMin.Core.Loggers.ThrowExceptionLogger, WebMarkupMin.Core" />
    </loggers>
  </logging>
</core>

和Action方法看起来像这样:

 [MinifyHtmlAttribute]
    public ActionResult Index()
    {
        return View();
    }

这在我的主页上工作得很好。但是,如果我想在站点的所有页面中添加HTML迷你器,该怎么办呢?还有什么其他的实现HTML minifier在我的整个项目?

谢谢。

在ASP中配置HTML最小化.净MVC

虽然MinifyHtmlAttribute继承自ActionFilterAttribute,但它显然不具有全局动作过滤器的功能。因此,您唯一的选择是显式地将[MinifyHtmlAttribute]添加到您希望最小化的每个操作方法中。

也就是说,该项目是开源的,所以您可以发明自己的方式来配置它,类似于MVC中的[AuthorizeAttribute][AllowAnnonymousAttribute]

现在在WebMarkupMin.AspNet4。WebMarkupMin版本2中的Mvc模块。您可以在整个应用程序级别应用动作过滤器(请参阅文档的相关部分)。