asp.net-mvc - 如何在 ASP.NET MVC 中配置 HTML 缩小

标签 asp.net-mvc web-config minify

我想为我的 ASP>NET MVC5 Web 应用程序配置 HTML 缩小。

我安装了 Nuget

Install-Package WebMarkupMin.Mvc

然后我添加过滤器属性:

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

但是 HTML 缩小不起作用。

Nuget 安装在 web.config 中添加几行:

<sectionGroup name="webMarkupMin">
      <section name="core" type="WebMarkupMin.Core.Configuration.CoreConfiguration, WebMarkupMin.Core" />
      <section name="webExtensions" type="WebMarkupMin.Web.Configuration.WebExtensionsConfiguration, WebMarkupMin.Web" />
</sectionGroup>

<webMarkupMin xmlns="http://tempuri.org/WebMarkupMin.Configuration.xsd">
  <core>
    <css>
      <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>
    <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="" />
    <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>
</webMarkupMin>

html元素是我根据documentation手动添加的.

我错过了什么吗?

最佳答案

Web 应用程序可能处于 Debug模式。为了将其切换到 Release模式,您需要编辑 Web.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    ...
    <system.web>
        <compilation debug="false" ... />
        ...
    </system.web>
    ...
</configuration>

此外,您可以禁用对 Web 应用程序模式的依赖。使用以下设置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    ...
    <webMarkupMin xmlns="http://tempuri.org/WebMarkupMin.Configuration.xsd">
        <webExtensions disableMinificationInDebugMode="false"
            disableCompressionInDebugMode="false" />
        ...
    </webMarkupMin>
    ...
</configuration>

关于asp.net-mvc - 如何在 ASP.NET MVC 中配置 HTML 缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380236/

相关文章:

visual-studio - Visual Studio 未正确运行已转换的配置文件

asp.net - Mono XSP 忽略 Web.Config 中的 <location> 指令

asp.net-mvc - Asp.net MVC 为什么我要为配置文件提供程序烦恼?

c# - 类库代码中的url.Content类型方法

asp.net-mvc - Angular 2 路由问题 - 刷新或重新加载时出现 404 错误

javascript - 打包/缩小多个 javascript 文件的最简单方法?

javascript - 缩小 JS/CSS 文件

c# - Asp.net 成员(member)提供程序在 url 中显示登录信息

c# - ASP.NET 图表无法在服务器上运行

MSBuild 缩小和连接 javascript,将内容散列到文件名中