如何在.Net核心MVC视图中缩小?

人气:54 发布:2023-01-03 标签: .net minify asp.net-core asp.net-core-mvc bundling-and-minification

问题描述

在我用.Net core MVC制作的网站上。当我们打开站点并单击页面源代码视图时,如何处理第二张图片中以minify形式显示的长代码?

推荐答案

将最小Web标记添加到ASP.NET核心应用程序

WebMarkupMin是一个非常成熟的缩略器,不仅适用于HTML,还适用于XML和XHTML,以及嵌入到您的HTML中的脚本和样式标记。它们提供了多个用于连接ASP.NET应用程序的NuGet包,这两个包都适用于使用MVC、HttpModules、WebForms和ASP.NET Core的ASP.NET 4.x。

步骤1.安装WebMarkupMin.AspNetCoreX包

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

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

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

        app.UseWebMarkupMin();

        app.UseRouting();
        ...
    }

第三步.将服务注册到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();
    }

测试结果

之前:

之后:

配置捆绑和缩小

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

19