NPM fuse-box(開發者的使用方法)
在任何現代 Node.js 應用程式的工具包中,捆綁包都已成為至關重要的工具。 打包工具——Webpack、Rollup、Vite——處理和打包程式碼和資源。 它們將許多不同的檔案合併成一個或幾個優化的套件,透過減少網路請求的數量來提高效能,並提供要有效載入的程式碼。 此外,大多數軟體套件已經具備程式碼分割、熱模組替換和搖樹優化等額外功能,從而提升了開發人員和最終用戶的體驗。
打包工具透過與建置工具和現代 JavaScript 標準的集成,成為可擴展和可維護應用程式的關鍵推動因素,因為它們優化了資源交付並簡化了部署工作流程。 在本文中,我們將使用 NPM fuse box 作為打包器的基準範例,並結合 IronPDF Node.js 函式庫進行測試。
FuseBox NPM 套件是速度最快、情境驅動且最具前瞻性的打包工具,讓您可以輕鬆管理和打包現代 Web 應用程式的資源。 就開發者效率而言,FuseBox 模組載入器具有簡單的配置功能,可幫助開發者快速設定並開始建立專案。 它支援所有所需的功能:即時重載、程式碼分割、搖樹優化等等,使開發變得容易,最終輸出高度優化。
FuseBox 支援多種檔案類型:JavaScript、TypeScript、CSS 和圖片。 FuseBox 模組載入器可以很好地與流行的框架和庫整合。 除此之外,它還具有整合插件系統,可根據您的專案需求進一步擴展和自訂 FuseBox。 FuseBox 兼顧效能和易用性,將顯著加快您的開發工作流程,並針對生產環境進行了最佳化。 FuseBox 將其提升到了一個全新的水平。
若要建立和設定 FuseBox 項目,請依照下列步驟操作:
為 FuseBox 初始化一個新的 Node.js 項目
為你的專案建立一個目錄,然後在Node.js中開啟它。
mkdir fusebox-project
cd fusebox-project
npm init -ymkdir fusebox-project
cd fusebox-project
npm init -y安裝保險絲盒
如果您正在使用 fuse-box 和其他依賴項(例如 TypeScript),請安裝它們。
npm install fuse-box typescript --save-devnpm install fuse-box typescript --save-dev建立 FuseBox 設定檔
建立fuse.js檔案用於配置 FuseBox。
const { fusebox, sparky } = require('fuse-box');
class Context {
// Method to return the FuseBox configuration
getConfig() {
return fusebox({
target: 'browser',
entry: 'src/index.ts',
webIndex: {
template: 'src/index.html',
},
devServer: true,
hmr: true,
cache: true,
logging: {
level: 'succinct',
},
sourceMap: true,
});
}
}
const { task, exec, rm } = sparky(Context);
// Define development task
task('default', async (ctx) => {
rm('dist');
const fuse = ctx.getConfig();
await fuse.runDev();
});
// Define production build task
task('dist', async (ctx) => {
rm('dist');
const fuse = ctx.getConfig();
await fuse.runProd();
});const { fusebox, sparky } = require('fuse-box');
class Context {
// Method to return the FuseBox configuration
getConfig() {
return fusebox({
target: 'browser',
entry: 'src/index.ts',
webIndex: {
template: 'src/index.html',
},
devServer: true,
hmr: true,
cache: true,
logging: {
level: 'succinct',
},
sourceMap: true,
});
}
}
const { task, exec, rm } = sparky(Context);
// Define development task
task('default', async (ctx) => {
rm('dist');
const fuse = ctx.getConfig();
await fuse.runDev();
});
// Define production build task
task('dist', async (ctx) => {
rm('dist');
const fuse = ctx.getConfig();
await fuse.runProd();
});這個簡單的範例展示如何在Node.js環境中配置和使用FuseBox來執行打包和開發任務。 這個範例首先從"fuse-box"套件匯入"fusebox"和"sparky",然後定義一個類別Context ,其中包含一個getConfig方法,該方法傳回一個 FuseBox 配置物件。 它配置以下設定:目標瀏覽器,將src/index.ts作為入口點,將src/index.html作為 Web 索引的範本。 最後,開發伺服器的配置可以很快實現以下最低配置選項:HMR、快取、來源映射和日誌。
下一步將使用 sparky 工具定義任務。 task('default')清理 dist 目錄,取得 FuseBox 配置,並執行開發伺服器。 同樣, task('dist')會清理 dist 目錄,但沒有任何配置,而是執行生產建置。 這種設置透過自動化建置和服務,對高效管理開發和生產非常有幫助。
建立一個簡單的 HTML 文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FuseBox App</title>
</head>
<body>
$bundles
</body>
</html><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FuseBox App</title>
</head>
<body>
$bundles
</body>
</html>上面的 HTML 範本為 FuseBox 專案建立了一個簡單的頁面。 它包含字元編碼和響應式設計元資料。 佔位符$bundles由 FuseBox 動態替換為正確的腳本和樣式標籤,以確保正確載入捆綁資源,從而使 JavaScript 和 CSS 以優化的方式載入。
建立一個 TypeScript 文件
// Set the HTML content of the body element
document.body.innerHTML = '<h1>Hello, FuseBox!</h1>';這行 JavaScript 程式碼設定目前網頁 body 元素的 HTML 內容。 它將替換其中的內容。帶有新標籤標題元素。 標題中的文字顯示為"你好,FuseBox!"。 本質上,它是一種使用 JavaScript 在網頁上動態添加或更新內容的非常簡單的方法。
TypeScript 配置
產生tsconfig.json文件,用於儲存 TypeScript 設定的其他配置。
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"]
}完成後運行程式碼。 它將應用程式託管在 localhost:4444:
NPM fuse-box(開發者使用指南):圖 2 - 控制台輸出
我們可以透過指定的本機主機連接埠查看頁面。 它會像下面的截圖一樣顯示。
IronPDF簡介:PDF建立器
若要建立、修改、轉換和編輯 PDF 文檔,請使用功能強大的 Node.js 套件IronPDF 。 它被用於許多與 PDF 相關的基於程式設計的操作,例如將 HTML 轉換為 PDF 和編輯現有的 PDF。 IronPDF 對於需要動態產生和處理 PDF 的程式來說是一個非常有用的工具。 它提供了一種簡單且適應性強的解決方案,用於創建高品質的 PDF 文件。
! NPM 保險絲盒(開發者使用指南):圖 4 - IronPDF
安裝 IronPDF 軟體包
使用 NPM 安裝允許 Node.js 啟用 IronPDF 功能的軟體包。
npm install @ironsoftware/ironpdfnpm install @ironsoftware/ironpdf帶有鐵質保險絲盒的捆綁包(PDF格式)
以下是如何連接到使用 IronPDF 的 Node.js 後端,並為前端資源配置 FuseBox 的方法。
Fuse.js 文件
const { fusebox } = require('fuse-box');
const fuse = fusebox({
target: 'server',
entry: 'src/index.ts',
dependencies: {
ignoreAllExternal: false,
},
watch: true,
cache: false,
});
// Run the development server
fuse.runDev();const { fusebox } = require('fuse-box');
const fuse = fusebox({
target: 'server',
entry: 'src/index.ts',
dependencies: {
ignoreAllExternal: false,
},
watch: true,
cache: false,
});
// Run the development server
fuse.runDev();此腳本會建立一個 FuseBox 實例來管理伺服器端腳本。它首先從 fuse-box 套件導入fusebox函數,然後使用特定設定對 FuseBox 進行自訂配置。 "伺服器"設定表示輸出是面向 Node.js 環境,而不是 Web 瀏覽器。 entry: 'src/index.ts'指向啟動打包過程的主 TypeScript 檔案。
dependencies: { ignoreAllExternal: false }確保不會忽略外部依賴項,這表示如果需要,它們會被加入到捆綁包中。 watch: true功能允許在原始檔案更新時自動重建捆綁包,這有助於開發過程。 最後, cache: false會關閉緩存,從而確保最新的更新始終包含在建置中。 fuse.runDev()指令使用這些設定啟動開發伺服器。
Index.ts 文件
const express = require("express");
const IronPdf = require("@ironsoftware/ironpdf");
var config = IronPdf.IronPdfGlobalConfig;
config.setConfig({
licenseKey: "", // Add your license key here
});
const htmlContent = `
<html>
<head>
<style>
body { font-family: Arial, sans-serif; }
h1 { color: navy; }
p { font-size: 14px; }
</style>
</head>
<body>
<h1>User Details</h1>
<p><strong>ID:</strong> 1</p>
<p><strong>Name:</strong> Hendry</p>
</body>
</html>
`;
// Express setup for handling requests
const app = express();
app.get("/generate-pdf", async (req, res) => {
const document = IronPdf.PdfDocument;
console.log("Requesting: generate-pdf");
// Generate PDF document
try {
let result = await document.fromHtml(htmlContent);
const pdfBuffer = await result.saveAsBuffer();
res.setHeader("Content-Type", "application/pdf");
res.send(pdfBuffer);
} catch (error) {
console.error("PDF generation error:", error);
res.status(500).send("PDF generation error");
}
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});該腳本建立了一個使用 Express 框架的 Node.js 伺服器,並使用 IronPDF 庫產生 PDF 檔案。 最初,它包含必要的模組:用於伺服器操作的 Express 和用於處理 PDF 任務的@ironsoftware/ironpdf 。 它會使用許可證密鑰設定 IronPDF,這對於建立 PDF 文件至關重要。 PDF 的 HTML 程式碼被宣告為一個字串,其中包含基本的樣式和使用者所需的詳細資訊。
接下來,開發一個 Express 應用程序,並建立 URL 路徑/generate-pdf 。 每當收到對該路徑的請求時,伺服器都會使用 IronPDF 的PdfDocument類別從給定的 HTML 內容產生 PDF。 然後,該 PDF 檔案會儲存在緩衝區中,並以正確的內容類型傳回給客戶端。 如果在此過程中發生錯誤,伺服器將回覆 500 狀態碼和錯誤訊息。 最終,伺服器預設為監聽指定的連接埠 3000,並記錄一條訊息以確認伺服器的運作狀態。
捆綁 IronPDF 腳本
現在我們可以運行保險絲盒捆綁腳本了。
NPM 保險絲盒(開發者使用指南):圖 5 - 保險絲盒模組載入器
它會將檔案打包/壓縮到一個單獨的檔案中。借助生成的文件,我們可以運行腳本。
NPM fuse-box(開發者使用指南):圖 6 - 輸出包
以上是藉助保險絲盒產生的壓縮文件。
NPM 保險絲盒(開發者使用指南):圖 7 - PDF 控制台輸出
我們可以將壓縮後的檔案當作普通的Node.js檔案來運作。
授權
我們需要許可證密鑰才能使程式碼在沒有浮水印的情況下運作。 開發者可以在這裡註冊以取得試用許可證。 您無需提供信用卡即可獲得。 註冊免費試用時,您只需輸入您的電子郵件地址即可。
結論
FuseBox 和 IronPDF 的結合對在伺服器上產生強大的 PDF 以及在前端打包資源有顯著的影響。 FuseBox 透過對 Web 資源進行分組和改進,使建立和發布 Web 應用程式變得更加容易。 同時,IronPDF 允許您直接從 HTML 程式碼建立文檔,並且擅長建立 PDF。
這些工具配合使用,可以使線上應用程式運作得更好,並加快開發過程。 他們透過確保資產管理和 PDF 創建協同工作來實現這一點。 透過使用 IronPDF 產生 PDF 文件,並使用 FuseBox 打包文件,開發人員可以建立和發布具有酷炫功能、運行速度更快、並且能夠處理更多文件的應用程式。
Iron Software提供各種類型的函式庫,幫助我們輕鬆地為 Windows、Android、MAC、Linux 等各種環境建立應用程式。





