.NET 幫助

WebGrease .NET Core(開發人員如何使用)

發佈 2024年8月13日
分享:

介紹

WebGrease 與 IronPDF 和 .NET Core 的整合提供了一種強大的方法,用於生成高品質的 PDF 文件並優化 Web 應用程式的性能。透過 JavaScript 壓縮、圖像優化和 CSS 縮小,WebGrease 是一個功能豐富的套件,使網站運行速度更快、更順暢,對於開發人員非常有幫助。當開發人員使用 IronPDF,一個強大的 .NET 工具包來生成和操作 PDF 文檔時,可以輕鬆地從多種來源生成動態 PDF,包括 HTML 和 MVC 視圖。

這種整合使得 Web 應用程可以保持流暢和適應性,有效地進行資源管理和動態 PDF 生成功能。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 提供了一些針對增強網頁應用程序效率和速度的功能。主要特點如下:

CSS 縮小化:

消除 CSS 檔案中多餘的格式、註釋和空白。通過將多個 CSS 檔案合併為單個檔案來減少 HTTP 請求。提高性能並加快 CSS 加載時間。

JavaScript 壓縮:

通過刪除不需要的字符來最小化 JavaScript 檔案。將多個獨立的 JavaScript 檔案合併為一個。最小化 JavaScript 檔案的大小以加快下載和執行時間。

圖片優化:

在不明顯損害品質的情況下壓縮圖片以減小檔案大小。在適當情況下,將圖片轉換為更高效的格式。通過圖片資源優化來提高加載速度。

HTML 縮小化:

減少 HTML 檔案中的空白和註釋。簡化 HTML 檔案,使瀏覽器能夠更快地解析和渲染。

資源捆綁:

將多個 JavaScript 和 CSS 檔案合併為單一精簡的檔案。通過降低需要獲取靜態文件和加載頁面的 HTTP 請求次數來改善加載時間。

配置靈活性:

提供配置優化過程的選擇。讓開發人員能夠選擇要優化或忽略的目錄和文件。

跨平台相容性:

與 .NET Core 完全相容,能在 Windows、Linux 和 macOS 應用程式中使用。保證性能改進在多種環境中都能良好運行。

與構建過程的整合:

可以整合到構建過程中,在部署和開發期間自動優化系統資源。支持自動化過程,以確保在不同開發階段的一致系統優化。

性能提升:

減少必須加載的資源數量,從而提高整個網頁應用程序的性能。提升用戶體驗並加快頁面加載速度。

建立和配置 WebGrease

一個 .NET Core 應用程式必須安裝所需的軟體包,配置建置流程,並設置優化任務才能使用 WebGrease。以下步驟將幫助您在 .NET Core 應用程式中建立和設置 WebGrease:

建立 .NET Core 專案

首先,建立一個新的 .NET Core 網頁應用程式。為了完成這個,你可以使用 .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

為您的網頁資源設定性能優化並使用 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文件中,在< ItemGroup >元素內添加以下元素:

<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 程式碼中首先要做的事情是導入所需的命名空間,即 Microsoft.AspNetCore.Mvc 用於 ASP.NET Core 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 架構內為現代網頁開發需求提供了完整的解決方案,不僅提升了網頁應用程式的效能,而且增加了處理 PDF 的有用功能。 IronPDFIronSoftware,通過利用OCR、條碼掃描、PDF創建、Excel連接等功能,您可以增加.NET開發工具包。IronPDF的起價為$749,為開發人員提供更多的Web應用程序和功能以及更高效的開發。為此,它將其核心概念與非常靈活的Iron Software工具箱結合在一起。

如果項目的許可選項明確,開發人員將很容易選擇最佳模式。上述益處有助於開發人員針對各種問題進行及時、有條理和高效的解決方案執行。

< 上一頁
DuckDB C#(對開發人員的運作方式)
下一個 >
Azure.Messaging.ServiceBus 示例 C# (工作原理)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >