跳過到頁腳內容
NODE 說明

LoopBack node js(開發者的使用方法)

透過將用於以程式設計方式建立 PDF 文件的庫 IronPDF 與用於建立 API 的 Node.js 框架 LoopBack 無縫集成,LoopBack 框架應用程式能夠提供完整的動態 PDF 生成解決方案。 LoopBack 框架具備模型建立、資料來源驗證、遠端方法和存取控制等功能,簡化了 API/Web 開發,而 IronPDF 則透過更強大的 PDF 產生功能進一步提升了開發效率。

透過此集成,開發人員可以從多個來源(包括外部 API 和資料庫)提取數據,從而即時建立 PDF。 這樣就可以建立自訂記錄或業務領域對象,以滿足專案需求,例如發票、證書、報表等。 由於 LoopBack 是異步的,它可以很好地補充 IronPDF 的功能,處理PDF生成任務,而不會幹擾事件循環,從而保證響應速度和最佳性能。

要開始使用 LoopBack 和 IronPDF,請使用 LoopBack 的 CLI 工具建立一個新項目,並使用 npm 安裝 IronPDF 作為依賴項。 利用 LoopBack 的中間件和遠端方法功能,可以立即回應客戶請求建立 PDF,從而簡化整合。 總而言之,這種整合使開發人員能夠有效地處理 LoopBack 應用程式中的各種文件產生需求。

LoopBack Node.js 是什麼?

LoopBack是一個功能強大的 Node.js 框架,旨在簡化建立 API 並將其連接到不同資料來源的過程。 透過 StrongLoop 的產品 LoopBack,開發者可以輕鬆設計可擴展且適應性強的應用程式。 LoopBack 基於 Express 框架構建,並採用模型驅動開發方法,允許程式設計師創建能夠代表其應用程式領域的各種資料模型。 關係型資料庫(如 MySQL 和 PostgreSQL)、NoSQL 資料庫(如 MongoDB)以及外部 REST API 和 SOAP 服務都可以輕鬆地與這些模型整合。

LoopBack 的獨特之處在於,它能夠根據所提供的模型自動產生 RESTful 端點,從而簡化 API 開發流程。 此外,LoopBack 還整合了驗證、權限和身份驗證支持,使程式設計師能夠保護其 API 並保證資料完整性。 由於 LoopBack 的中間件架構是基於 Express.js,因此它具有可擴展性和靈活性,使開發人員能夠使用預先存在的中間件或創建定制的中間件來滿足獨特的需求。

無論您是創建簡單的 REST API 還是複雜的微服務架構,LoopBack 都具備加速開發和產生可靠、可擴展解決方案所需的功能和工具。 由於其豐富的文檔和活躍的社區,開發者在創建尖端的線上和行動應用程式時經常選擇它。

LoopBack Node.js(開發者使用指南):圖 1 - LoopBack

LoopBack 的特點

-模型驅動架構:LoopBack 透過允許開發人員透過基於模式的方法定義資料模型,從而支援模型驅動開發。 可以使用模型來表示各種資料來源,包括資料庫、REST API 和 SOAP 服務。 -資料來源無關性:關聯式資料庫(MySQL、PostgreSQL)、NoSQL 資料庫(MongoDB)、外部 REST API 和 SOAP 服務只是 LoopBack 支援的眾多資料來源中的幾個。 -自動產生 REST API :LoopBack 使用預先定義的模型在 API Explorer 中自動建立 RESTful API 端點,從而減少樣板程式碼並加快開發速度。 -內建身份驗證和授權支援:LoopBack 提供對這些功能的內建支持,使開發人員能夠將基於角色的存取控制 (RBAC)、用戶身份驗證和其他安全措施整合到他們的 API 中。 -中間件和遠端方法:為了改變 API 端點的行為,開發人員可以使用 LoopBack 提供中間件和遠端方法。 遠端方法提供可透過 HTTP 遠端呼叫的自訂功能,而中介軟體函數可以攔截和修改請求和回應。

  • LoopBack 的命令列介面 (CLI) :LoopBack 包含一個強大的 CLI 工具,可簡化建立模型和控制器、建置新專案和執行遷移等典型活動。 -與 LoopBack 元件整合:LoopBack 簡化了元件的使用,這些元件是可重複使用的模組,提供電子郵件傳送、檔案儲存和驗證功能。 這樣一來,開發者在為應用程式添加新功能時就無需從頭開始。
  • LoopBack Explorer :開發人員可以使用 LoopBack 整合的 API Explorer 工具互動式地檢查和測試 API 端點。 這有助於排查故障並了解 API 的功能。

建立和配置 LoopBack Node.js JS

您可以使用以下步驟在 Node.js 中設定和建置 LoopBack 應用程式:

安裝 LoopBack CLI

第一步是安裝 LoopBack 命令列介面 (CLI),它提供了建置和管理 LoopBack 應用程式所需的資源。使用 npm 進行全域安裝:

npm install -g @loopback/cli
npm install -g @loopback/cli
SHELL

創建一個新的 LoopBack 應用程式

要搭建一個全新的 LoopBack 核心應用程序,請使用 CLI。 打開您希望建立應用程式的目錄,並在該目錄中執行應用程式:

lb4 app
lb4 app
SHELL

要提供有關您的應用程式的信息,例如其名稱、目錄以及您希望啟用的功能,只需按照提示操作即可。

您將被要求提供以下資訊:

1.專案名稱:輸入您的應用程式名稱,例如my-loopback-app 。 2.項目描述:(可選)描述您的應用程式。 3.項目根目錄:接受預設目錄或指定其他目錄。 4.應用程式類別名稱:接受預設的應用程式。 5.啟用 Prettier :選擇是否啟用 Prettier 進行程式碼格式化。 6.啟用 TSLINT :選擇是否啟用 TSLint 進行程式碼檢查。 7.啟用 Mocha :選擇是否啟用 Mocha 來執行測試。

CLI 將產生專案結構並安裝必要的依賴項。

探索項目結構

您的專案目錄將具有以下結構:

my-loopback-app/
├── src/
│   ├── controllers/
│   ├── models/
│   ├── repositories/
│   ├── index.ts
│   ├── application.ts
│   └── ...
├── package.json
├── tsconfig.json
└── ...

定義模型

若要指定資料結構,您可以手動開發模型,也可以使用 LoopBack CLI。 模型可以由各種資料結構和資料來源支持,用於表示程式中的事物。 例如,執行下列命令產生一個名為 Product 的新模型:

lb4 model
lb4 model
SHELL

若要指定模型的屬性和連接,請按照說明進行操作。

建立控制器

若要處理建立 PDF 文件的請求,請建立一個新的控制器。 若要在 LoopBack CLI 中建立新控制器,請使用下列命令:

lb4 controller
lb4 controller
SHELL

要定義控制器的名稱及其關聯模型,只需按照提示操作即可。假設我們想要將控制器的屬性名稱與 Report 模型關聯起來,並將其命名為 ReportController。

定義資料來源

確定模型將與哪些資料來源通訊。 LoopBack 支援多種資料庫,例如 MySQL、PostgreSQL、MongoDB 等。 若要設定資料來源,可以更新 datasources.json 文件,也可以使用 LoopBack CLI。

探索 LoopBack

使用內建的 API 瀏覽器工具(網址為http://localhost:3000/explorer )來探索 LoopBack 的功能。 您可以在這裡探索和測試您的 API 端點。

Ping Controller 範例程式碼

import {inject} from '@loopback/core';
import {
  Request,
  RestBindings,
  get,
  response,
  ResponseObject,
} from '@loopback/rest';

/**
 * OpenAPI response for ping()
 */
const PING_RESPONSE: ResponseObject = {
  description: 'Ping Response',
  content: {
    'application/json': {
      schema: {
        type: 'object',
        title: 'PingResponse',
        properties: {
          greeting: {type: 'string'},
          date: {type: 'string'},
          url: {type: 'string'},
          headers: {
            type: 'object',
            properties: {
              'Content-Type': {type: 'string'},
            },
            additionalProperties: true,
          },
        },
      },
    },
  },
};

/**
 * A simple controller to bounce back http requests
 */
export class PingController {
  constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}

  // Map to `GET /ping`
  @get('/ping')
  @response(200, PING_RESPONSE)
  ping(): object {
    // Reply with a greeting, the current time, the url, and request headers
    return {
      greeting: 'Hello from LoopBack',
      date: new Date(),
      url: this.req.url,
      headers: Object.assign({}, this.req.headers),
    };
  }
}

上述程式碼的輸出結果。

LoopBack Node.js(開發者使用指南):圖 2 - LoopBack 輸出

開始

我們將首先建立一個範例應用程序,該應用程式使用 LoopBack Node.js 和 IronPDF 來建立包含動態生成資訊的 PDF 文件。 這是一份步驟詳盡的操作手冊。

什麼是 IronPDF?

為了簡化 PDF 的建立、編輯和維護,開發了一個名為IronPDF的應用程式庫。 借助此應用程序,開發人員可以從 HTML 文件中提取文字和圖像,應用標題和浮水印,合併多個 PDF 文檔,以及執行各種其他活動。 借助 IronPDF 的用戶友好型 API 和全面的文檔,開發人員可以輕鬆地自動建立高品質的 PDF 文件。 IronPDF 提供改善文件工作流程所需的所有功能和特性,並在各種場景中提供一流的使用者體驗,無論是用於準備發票、報告或文件。

LoopBack Node.js(開發者使用方法):圖 3 - IronPDF

IronPDF 的特點

  • HTML 轉 PDF是一個簡單快速的流程,可以用於任何 HTML 內容,包括 CSS 和 JavaScript。
  • PDF 文件合併:為了簡化文件管理工作,可以將多個 PDF 文件合併為一個 PDF 文件。 -文字和圖像提取:從 PDF 文件中提取文字和圖像,以便進行額外的數據分析或處理。 -浮水印:出於安全或品牌推廣的原因,您可以為 PDF 頁面添加文字或圖片浮水印。 -新增頁首和頁尾:PDF 文件的頁首和頁尾可讓您新增自訂訊息或頁碼。

安裝 IronPDF

若要啟用 IronPDF 功能,請使用 node 套件管理器安裝必要的 Node.js 套件。

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

將 LoopBack 與 IronPDF Node.js 集成

在建立的控制器檔案( report.controller.tsreport.controller.js )中實作下列邏輯,以使用 IronPDF 建立 PDF 文件:

import {inject} from '@loopback/core';
import {Request, RestBindings, get, response} from '@loopback/rest';
const IronPdf = require('@ironsoftware/ironpdf');

// Configure IronPDF license key, if needed
var config = IronPdf.IronPdfGlobalConfig;
config.setConfig({licenseKey: ''});

/**
 * Controller handling PDF generation
 */
export class ReportController {
  constructor(@inject(RestBindings.Http.REQUEST) private req: Request) {}

  @get('/generate-pdf', {
    responses: {
      '200': {
        description: 'PDF file',
        content: {'application/pdf': {schema: {type: 'string', format: 'binary'}}},
      },
    },
  })
  async generatePdf(): Promise<Buffer> {
    // HTML content to be converted to PDF
    const htmlContent = '<html><body><h1>Hello, IronPDF!</h1></body></html>';

    // Generate PDF from HTML
    const pdf = await IronPdf.PdfDocument.fromHtml(htmlContent);

    // Get the PDF as a Buffer
    const pdfBuffer = await pdf.saveAsBuffer();

    // Return the PDF buffer to serve as a downloadable file
    return pdfBuffer;
  }
}

Report 實例的建立和 PDF 的產生由ReportController處理。 使用 IronPDF 將 HTML 內容轉換為 PDF 緩衝區,並透過generatePdf方法返回。 要將 HTML 渲染成 PDF, generatePdf函數使用 IronPDF。 LoopBack 控制器可以輕鬆處理這種整合。 然後透過定義GET端點/generate-pdf來接收來自客戶端的 HTML 內容。 我們在終端機中使用 IronPDF 庫將提供的 HTML 資訊轉換為 PDF。

具體來說,我們使用pdf.saveAsBuffer()產生PDF 檔案的二進位緩衝區,並使用IronPdf.PdfDocument.fromHtml(htmlContent)從 JSON 檔案建立 PDF 物件。之後,用戶端會收到具有正確 MIME 類型( application/pdf )的此緩衝區。 建立 PDF 時出現的任何問題都會被監聽 3000 連接埠的伺服器偵測並記錄。客戶端會收到 500 狀態碼作為回應。 這種配置可以從 HTML 內容建立動態 PDF,這在為 Web 應用程式建立帳單、報告或其他文件時非常有用。

LoopBack Node.js(開發者使用方法):圖 4 - PDF 輸出

結論

最後,IronPDF 與 LoopBack 4 的集成為線上應用程式開發提供了一個強大的組合。 借助 LoopBack 4,開發人員可以輕鬆創建 RESTful API,其強大的框架使他們能夠專注於業務邏輯而不是樣板程式碼。 然而,IronPDF 具有流暢的 PDF 生成功能,可從 HTML 文字建立動態 PDF 文件。

此外,LoopBack 4 和 IronPDF 的靈活性和易用性簡化了開發過程,使開發人員能夠快速製作高品質的應用程式。 由於 LoopBack 4 管理 API 後端存取控制,而 IronPDF 處理 PDF 創建,開發人員可以專注於滿足業務需求和提供良好的使用者體驗。

透過將IronPDF其他八個庫整合到您的開發堆疊中,我們可以保證為客戶和最終用戶提供功能豐富、高端的軟體解決方案。 此外,這強大的基礎將優化流程、後端系統和各項措施。 這些技術起價僅為$799 ,由於其全面的文件、活躍的線上開發者社群和頻繁的更新,非常適合現代軟體開發專案。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。