如何在 .net 核心 mvc 视图中缩小?

How to minify in .net core mvc view?

在我用.net core mvc做的网站上。当我们打开站点,点击页面源码查看时,如何把第二张图的长代码,以minify的形式做到?

Adding Web Markup Min to ASP.NET Core application

WebMarkupMin 是一个非常成熟的缩小器,不仅适用于 HTML,还适用于 XML 和 XHTML,以及嵌入在您的 HTML。他们提供多个 NuGet 包来连接您的 ASP.NET 应用程序,都用于 ASP.NET 4.x 使用 MVC、HttpModules、WebForms 和 ASP.NET Core。

步骤 1. 安装包 WebMarkupMin.AspNetCoreX

我的项目是ASP.NET Core 5,所以我选择安装WebMarkupMin.AspNetCore5

第 2 步。在应用程序的 Startup.Configure 方法中注册

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        ...
        app.UseStaticFiles();

        app.UseWebMarkupMin();

        app.UseRouting();
        ...
    }

步骤 3. 向 IoC 容器注册服务

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();

        services.AddWebMarkupMin(
            options =>
            {
                options.AllowMinificationInDevelopmentEnvironment = true;
                options.AllowCompressionInDevelopmentEnvironment = true;
            })
            .AddHtmlMinification(
                options =>
                {
                    options.MinificationSettings.RemoveRedundantAttributes = true;
                    options.MinificationSettings.RemoveHttpProtocolFromAttributes = true;
                    options.MinificationSettings.RemoveHttpsProtocolFromAttributes = true;
                })
            .AddHttpCompression();
    }

测试结果

之前:

之后:



Configure bundling and minification

MVC 和 Razor Pages 项目模板提供了一个包含 JSON 配置文件的捆绑和缩小解决方案。当您的开发工作流程需要进行捆绑和缩小之外的处理(例如 linting 和图像优化)时,第三方工具非常适合。通过使用设计时捆绑和缩小,缩小的文件是在应用程序部署之前创建的。在部署之前进行捆绑和缩小提供了减少服务器负载的优势。您可以在此处查看 official document 的详细信息。