.NET 帮助

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

发布 2024年八月13日
分享:

介绍

WebGrease 与 IronPDF 和 .NET Core 的集成为制作质量上乘的 PDF 文档和简化网络应用程序性能提供了有效的方法。 通过使用JavaScript压缩、图像优化和CSS最小化,WebGrease是一个功能丰富的软件包,让网站为开发人员运行得更快、更流畅。 开发人员使用IronPDF时,可以轻松从多个来源创建动态PDF,包括HTML和MVC视图。IronPDF是一个用于生成和操作PDF文档的强大.NET工具包。

通过这种集成,Web应用程序得以保持流畅和适应性,从而实现有效的资源管理和动态PDF生成。 WebGrease 和 IronPDF 完全兼容 .NET Core,允许开发人员创建可在多个平台上无缝运行的跨平台应用程序。Linux、macOS 和 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 应用程序中使用。确保性能改进在各种环境中都能良好运作。

与构建过程集成:

能够集成到构建流程中,以在部署和开发期间自动优化系统资源。 支持自动化流程,以确保系统在不同开发阶段的一致优化。

性能提升:

减少必须加载的资源量,从而提高整个网络应用的性能。 增强用户体验并加快页面加载速度。

创建和配置 WebGrease

在使用WebGrease之前,.NET Core应用程序必须安装所需的包,配置构建过程,并设置优化任务。 以下步骤将帮助您在.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#

添加所需的包

虽然没有用于 WebGrease 的直接 .NET Core 包,但您仍可以通过其他程序(如 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 入门

为您的网络资源设置性能优化,并使用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 for .NET 软件包。

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 生成. 因为它继承自Controller,PdfController类是一个MVC控制器。 该类中的GeneratePdf方法被定义用于管理PDF的创建。

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

要将HTML内容转换为PDF,此功能会创建一个IronPDF的ChromePdfRenderer实例。(). 可以使用RenderHtmlAsPdf函数将基本的HTML字符串转换为PDF文档。 接下来,使用 BinaryData 属性将此 PDF 保存到字节数组中。 最后,使用File方法将PDF文件作为可下载的响应返回,并附带请求的文件名。(example.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 文档。

结论

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

此集成为现代Web开发需求提供了一个完整的解决方案,适用于.NET Core框架,不仅提升在线应用程序性能,还增加了处理PDF的实用功能。

IronPDF铁软件(Iron Software)您可以通过利用OCR、条形码扫描、PDF创建、Excel连接以及更多功能来扩展您的.NET开发工具包。 对于起始价格为$749的IronPDF,开发人员可以访问更多的网络应用程序和功能,从而实现更高效的开发。 为此,它将核心概念与非常灵活的Iron Software工具箱结合起来。

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

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >