.NET 帮助

WebGrease .NET Core(开发人员如何使用)

发布 2024年八月13日
分享:

介绍

WebGrease与IronPDF和.NET Core的集成提供了一种强大的方法来生成高质量的PDF文档并简化Web应用程序的性能。通过使用JavaScript压缩、图像优化和CSS压缩,WebGrease是一个功能丰富的软件包,使网站运行更快更顺畅,便于开发人员使用。开发人员可以使用IronPDF,一个强大的.NET工具包,从多个来源(包括HTML和MVC视图)轻松创建动态PDF。

这种集成能够有效管理资源并生成动态PDF,从而保持Web应用程序的流畅性和适应性。WebGrease和IronPDF与.NET Core完全兼容,使开发人员能够创建在不同平台上都能完美运行的跨平台应用程序。 LinuxmacOS 和 Windows。这得益于优化的性能和卓越的文档处理,从而提升了用户体验。

什么是 WebGrease?

最初作为 ASP .NET 栈的组件创建, WebGrease 是一个用于自动化处理 JavaScript 优化、压缩、图片优化以及静态文件的 CSS 缩小化的工具,以提升网页性能。这些优化有助于减少网页资源的大小,从而改善网页应用的性能并加快加载时间。

WebGrease .NET Core(它是如何为开发人员工作的):图1

在 .NET Core 的背景下,当我们讨论 WebGrease 时,我们指的是这些优化方法在 .NET Core 应用程序中的应用。微软创建了跨平台、开源的 .NET Core 框架,以让开发人员创建前沿的、可扩展的和高性能的应用程序。开发人员可以通过集成 WebGrease,将传统 ASP.NET 应用程序中的性能优化技术应用于他们的 .NET Core 项目。通过这种方式,开发人员可以确保他们的 Web 应用程序在各种平台上(如 Windows、Linux 和 macOS)都能够高效和高性能的运行。

WebGrease的功能

在.NET Core框架内,WebGrease提供了一系列针对增强Web应用程序效率和速度的功能。主要特点如下:

CSS压缩:

消除CSS文件中多余的格式、注释和空白。通过将多个CSS文件合并为一个文件来减少HTTP请求。提高性能并加快CSS的加载时间。

JavaScript压缩:

通过删除不需要的字符来最小化JavaScript文件。将多个独立的JavaScript文件合并为一个文件。最小化JavaScript文件的大小,以加快下载和执行时间。

图像优化:

通过压缩图像文件大小而不显著降低质量。当适用时,将照片转换为更高效的格式。通过图像资源优化提高加载速度。

HTML压缩:

减少HTML文件中的空白和注释。简化HTML文件,使浏览器可以更快速地解析和渲染它们。

资源捆绑:

将多个JavaScript和CSS文件组合成一个精简的文件。通过减少获取加载文件、获取静态文件以及加载页面所需的HTTP请求数量来改善加载时间。

配置灵活性:

提供优化过程配置选项。为开发人员提供选择要优化或排除的目录和文件的选项。

跨平台兼容性:

与.NET Core完全兼容,可在Windows、Linux和macOS应用程序中使用。确保在各种环境中性能改进效果良好。

与构建过程的集成:

能够被整合到构建过程中,在部署和开发期间自动优化系统资源。支持自动化流程,以确保系统在各个开发阶段的一致优化。

性能提升:

最小化必须加载的资源量,从而提高整个Web应用程序的性能。增强用户体验并加快页面加载速度。

创建和配置 WebGrease

一个 .NET Core 应用程序必须安装所需的包,配置构建过程,并设置优化任务,才能使用 WebGrease。以下步骤将帮助您在 .NET Core 应用程序中建立和设置 WebGrease:

创建一个 .NET Core 项目

首先创建一个新的 .NET Core Web 应用程序。要完成此操作,可以使用 .NET CLI。

dotnet new web -n WebGreaseApp
cd WebGreaseApp
dotnet new web -n WebGreaseApp
cd WebGreaseApp
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

添加所需包

虽然没有直接用于 .NET Core 的 WebGrease 包,但您仍然可以使用诸如 BundlerMinifier 等其他程序来实现类似的功能。将此捆绑包包含在您的项目中。

dotnet add package BundlerMinifier.Core
dotnet add package BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

配置捆绑和压缩

在项目根目录中创建一个 bundleconfig.json 文件,以提供 CSS 和 JavaScript 文件的捆绑和压缩设置。以下是一个配置示例。

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

与构建过程集成

在项目文件中添加指令,以在构建过程中执行捆绑和压缩操作 (.csproj)在你的 .csproj 文件中,在 元素内添加以下元素:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

安装和运行 BundlerMinifier

您必须安装 .NET 工具才能使用 BundlerMinifier 工具,因为我们已将其包含在内。执行以下命令行:

dotnet tool install -g BundlerMinifier.Core
dotnet tool install -g BundlerMinifier.Core
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

要捆绑和简化您的文件,请运行:

dotnet bundle
dotnet bundle
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

优化图片

您可以使用 ImageSharp 或其他符合 .NET Core 的图片优化工具进行图片优化。

安装 ImageSharp

安装 SixLabors.ImageSharp 包:

dotnet add package SixLabors.ImageSharp
dotnet add package SixLabors.ImageSharp
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

以下是一个图像优化的代码示例:

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
public void OptimizeImage(string inputPath, string outputPath)
{
    using (var image = Image.Load(inputPath))
    {
        image.Mutate(x => x.Resize(new ResizeOptions
        {
            Mode = ResizeMode.Max,
            Size = new Size(800, 600)
        }));
        image.Save(outputPath); // Automatic encoder selected based on file extension.
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

最后一次运行你的应用程序,以确保捆绑和压缩按预期运行。

在浏览器中打开你的应用程序,然后通过查看JavaScript和CSS文件来确保它们已被压缩。

使用与当前.NET环境配合使用的工具,按照以下步骤为.NET Core应用程序设置和配置类似WebGrease的优化。

入门 IronPDF

设置 Web 资源的性能优化并使用 IronPDF 进行 PDF 生成和操作,对于在 .NET Core 应用程序中集成类似 WebGrease 的优化和 IronPDF 都是必要的。以下是逐步入门指南:

什么是 IronPDF?

功能丰富的 .NET 库 IronPDF 允许C#程序生成、读取和编辑PDF文档。借助此程序,开发人员可以轻松地将HTML、CSS和JavaScript信息转换为高质量、可打印的PDF。最重要的任务之一包括添加页眉和页脚、拆分和合并PDF、为文档添加水印以及将HTML转换为PDF。

IronPDF对于多种应用程序非常有用,因为它支持.NET Framework和.NET Core。由于PDF用户友好并且包含丰富的内容,开发人员可以轻松将其集成到他们的产品中。因为IronPDF可以处理复杂的数据布局和格式,所以它生成的PDF输出紧密反映了客户最初提供的HTML文本。

WebGrease .NET Core(开发人员使用方法):图2

IronPDF的功能

从HTML生成PDF

将JavaScript、HTML和CSS转换为PDF。支持媒体查询和响应设计,这两项是现代网页标准。可使用HTML和CSS动态装饰PDF文档、报告和账单。

PDF编辑

现有的PDF可以添加文本、照片和其他内容。从PDF文件中提取文本和图片。将多个PDF合并成一个文件。将PDF文件分割成多个独立的文档。包括水印、注释、页眉和页脚。

PDF转换

将各种文件格式转换为PDF,包括Word、Excel和图片文件。支持PDF到图像的转换。 (PNG、JPEG 等。).

性能和可靠性

高性能和可靠性是工业环境中理想的设计特质。可以轻松管理大量文档集。

安装 IronPDF

要在 .NET 项目中使用 PDF 工具,请安装 IronPDF 包。

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
VB   C#

配置捆绑和缩小

在项目根目录中创建一个bundleconfig.json配置文件,以提供CSS和JavaScript文件的捆绑和缩小设置。以下是一个配置示例:

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "wwwroot/css/site.css"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    }
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "wwwroot/js/site.js"
    ],
    "minify": {
      "enabled": true
    }
  }
]
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

连接到构建过程

确保在项目文件中包含在构建过程中执行压缩和捆绑操作的指令 (.csproj)在你的.csproj文件中,在元素内添加以下元素:

<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
  <Exec Command="dotnet bundle" />
</Target>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

集成 IronPDF

使用 IronPDF 构建控制器以生成 PDF。创建一个新的 PdfController 控制器。

using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
using Microsoft.AspNetCore.Mvc;
using IronPdf;
namespace WebGreaseIronPdfApp.Controllers
{
    public class PdfController : Controller
    {
        public IActionResult GeneratePdf()
        {
            // Create a PDF from a simple HTML string
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>");
            // Save the PDF to a byte array
            var pdfBytes = pdf.BinaryData;
            // Return the PDF file as a download
            return File(pdfBytes, "application/pdf", "example.pdf");
        }()
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

在 PdfController 代码中,我们首先导入所需的命名空间,即用于 ASP.NET Core MVC 功能的 Microsoft.AspNetCore.Mvc 和 IronPDF。 PDF 生成因为 PdfController 类派生自 Controller,所以它是一个 MVC 控制器。这个类中的 GeneratePdf 方法用于管理 PDF 的生成。

WebGrease .NET Core(开发人员的工作原理):图 3

要将HTML内容转换为PDF,此功能会创建IronPDF的ChromePdfRenderer实例。()一个基本的HTML字符串可以使用RenderHtmlAsPdf函数转换为PDF文档。然后使用BinaryData属性将此PDF保存为字节数组。最后,使用File方法连同请求的文件名将PDF文件作为可下载的响应返回。 (示例.pdf) 正确的 MIME 类型 (应用程序/pdf). 由于这种集成,程序现在可以根据HTML内容动态创建和提供PDF文档。

生成PDF的路径

确保在您的Startup.cs文件中包含PDF生成路由。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }
    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
        endpoints.MapControllerRoute(
            name: "pdf",
            pattern: "pdf",
            defaults: new { controller = "Pdf", action = "GeneratePdf" });
    });
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

运行和验证

运行您的应用程序,以确保您可以创建PDF文件,并且捆绑和缩小功能正常工作。

dotnet run
dotnet run
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet run
VB   C#

打开浏览器并导航到您的应用程序。您应该可以通过访问 //pdf 创建单个文件并下载 PDF 文档。

结论

IronPDF 和 WebGrease 类似的优化手段结合在一起,为在 .NET Core 应用程序中提高在线性能和生成高质量的 PDF 文档提供了强有力的组合。开发人员可以使用像 IronPDF 创建 PDF 和 BundlerMinifier 优化资源的工具,确保他们的应用程序高效且灵活。除了图片压缩之外,诸如 CSS 和 JavaScript 压缩等资源优化策略也有助于加快页面加载速度和提升用户体验。同时,IronPDF 具有从 HTML 文本动态创建 PDF 的强大功能,简化了创建如发票、报告等适当准备的文档的过程。

这种集成为 .NET Core 框架内的现代 Web 开发需求提供了解决方案,不仅提高了在线应用程序的性能,还增加了处理 PDF 的有用功能。

IronPDF铁软件(Iron Software)通过利用OCR,条形码扫描,PDF创建,Excel连接等功能,您可以增加.NET开发工具包。IronPDF的起始价格为$749,为开发人员提供更多的Web应用程序和功能,以及更高效的开发。为此,它将其核心理念与非常灵活的Iron Software工具箱相结合。

如果项目的许可证选项定义明确,开发人员将很容易选择最佳模型。上述好处有助于开发人员快速、有序和高效地解决各种问题。

< 前一页
DuckDB C#(开发人员如何使用)
下一步 >
Azure.Messaging.ServiceBus 示例 C#(工作原理)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >