.NET 幫助

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

發佈 2024年8月13日
分享:

介紹

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

透過此整合,網路應用程式保持流暢和靈活,從而實現有效的資源管理和動態 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 專案中。 如此一來,開發者可以確保他們的網路應用程式在各種平台上(如 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#

新增所需套件

雖然 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 套件。

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 程式碼中首先要做的事情是導入所需的命名空間,即 Microsoft.AspNetCore.Mvc 用於 ASP.NET Core MVC 功能和 IronPDF 用於PDF 生成. 因為 PdfController 類是從 Controller 派生的,所以它是一個 MVC 控制器。 此類別中的 GeneratePdf 方法被定義用於管理 PDF 的創建。

WebGrease .NET Core(開發人員運作方式):圖3

要將 HTML 資料轉換成 PDF,此功能會創建一個 IronPDF 的 ChromePdfRenderer 實例。(). 可以使用 RenderHtmlAsPdf 函數將基本的 HTML 字串轉換為 PDF 文件。 接着使用 BinaryData 屬性將這個 PDF 儲存為位元組陣列。 最後,PDF 檔案會使用 File 方法作為可下載的回應傳回,並附上請求的檔名。(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 文件。

結論

IronPDF 和類似 WebGrease 的優化相結合,提供了一個強大的組合,用於提高在線性能以及在 .NET Core 應用程式中生成高品質的 PDF 文件。 開發人員可以使用例如 IronPDF 用於創建 PDF 和 BundlerMinifier 用於優化資源等工具,確保其應用程序的有效性和靈活性。 除了圖片壓縮外,資源優化策略如 CSS 和 JavaScript 縮小化也有助於加快頁面加載速度並提升使用者體驗。 同時,IronPDF 具備強大的功能,能夠從 HTML 文本動態創建 PDF,簡化創建妥善準備的文檔過程,如發票、報告等。

此整合方案提供了在 .NET Core 框架下滿足當代網絡開發需求的完整解決方案,不僅提升了線上應用程式的性能,還為處理 PDF 添加了實用的功能。

IronPDFIronSoftware,您可以通過使用光學字符識別(OCR)、條碼掃描、PDF 創建、Excel 連接等功能來擴展您的 .NET 開發工具。 IronPDF 的起始價格為 $749,為開發者提供更多網路應用程式和功能,以及更高效的開發體驗。 為了達成這一點,它將核心概念與非常靈活的Iron Software工具箱相結合。

如果專案的授權選擇明確,開發人員會很容易選擇最佳模型。 上述優點有助於開發人員快速、有條理且高效地執行各種問題的解決方案。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >