跳過到頁腳內容
NODE 說明

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

通過 IronPDF(一個用於以編程方式創建 PDF 文檔的庫)與 LoopBack(用於構建 API 的 Node.js 框架)的順利集成,在 LoopBack 框架應用程序內提供動態 PDF 生成的完整解決方案。擁有模型創建、數據源驗證、遠程方法和訪問控制等功能,LoopBack 框架使 API/網絡開發更容易,而 IronPDF 透過更高級的 PDF 生產功能改善它。

開發人員可以通過此集成從多個源(包括外部 API 和數據庫)拉取數據,即時創建 PDF。 這使得創建符合項目要求的定制記錄或業務領域對象成為可能,例如發票、證書、報告等。 因為 LoopBack 是異步的,它很好地補充了 IronPDF 的特性,能夠在不干擾事件循環的情況下很好地處理PDF生成任務,保證響應性和最佳性能。

要開始使用 LoopBack 和 IronPDF,請使用 LoopBack 的 CLI 工具創建新項目,並使用 npm 安裝 IronPDF 作為依賴項。 利用 LoopBack 的中間件和遠程方法功能可即時響應客戶端請求創建 PDF,這使集成變得簡單。 總而言之,這一集成賦予開發人員能夠在 LoopBack 應用程序內高效地處理各種文檔生成需求的能力。

什麼是 LoopBack Node.js?

一個名為LoopBack的強大 Node.js 框架被創建為了簡化創建 API 並將它們連接到不同數據源的過程。 有了 LoopBack,一個 StrongLoop 的產品,開發人員可以輕鬆設計可擴展和適應性強的應用程序。基本上,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 服務。
  • 數據源不可知設計:LoopBack 支持多種數據源,從關係型數據庫(MySQL、PostgreSQL),NoSQL數據庫(MongoDB)到外部 REST API 和 SOAP 服務。
  • 自動化 REST API 生成:LoopBack 利用預定義模型在 API Explorer 中自動創建 RESTful API 端點,減少樣板代碼並加快開發。
  • 內置身份驗證和授權支持:LoopBack 提供這些特性的內置支持,使開發人員能夠將基於角色的訪問控制(RBAC)、用戶身份驗證和其他安全措施集成到其 API 中。
  • 中間件和遠程方法:開發人員可以通過 LoopBack 提供中間件和遠程方法來更改 API 端點的行為。 中間件功能可以攔截和修改請求和回應,而遠程方法則提供可以通過 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 應用程序

使用 CLI 搭建全新的核心 LoopBack 應用程序。 打開您希望在其中構建應用程序的目錄,然後在那裡執行:

lb4 app
lb4 app
SHELL

要提供有關你的應用程序的信息,例如其名稱、目錄和您想啟用的功能,請簡單地按照提示進行。

您將被提示提供以下信息:

  1. 項目名稱:輸入應用程序的名稱,例如,my-loopback-app
  2. 項目描述:可選地描述您的應用。
  3. 項目根目錄:接受默認值或指定其他目錄。
  4. 應用程序類名:接受默認的Application
  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 explorer 工具,可在http://localhost:3000/explorer處查看 LoopBack 的功能。 您可以在此處瀏覽並測試您的 API 端點。

示例 Ping 控制器代碼

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.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;
  }
}

ReportController處理報告實例的創建和PDF的生成。 HTML 內容被 IronPDF 轉換為 PDF 緩衝器並通過generatePdf方法返回。 為了將 HTML 呈現為 PDF,generatePdf 函數使用 IronPDF。 LoopBack 控制器輕鬆地處理了該集成。 然後通過定義GET端點/generate-pdf接收來自客戶端的 HTML 內容。 我們通過利用 IronPDF 庫在端點內將提供的 HTML 信息轉換為 PDF。

具體而言,我們使用pdf.saveAsBuffer()來生成PDF 文件的二進制緩衝器,並使用IronPdf.PdfDocument.fromHtml(htmlContent)從 JSON 文件構建 PDF 對象。之後,會With the MIME typeapplication/pdf正確地將該緩衝器發送回客戶端。 當在創建 PDF 時出現任何問題時,會由監聽我們的伺服器報告,該伺服器位於 3000 端口上。客戶端將收到 500 狀態碼。 這種配置使從 HTML 內容創建動態 PDF 成為可能,這在為網絡應用程序創建賬單、報告或其他文件時很有用。

LoopBack node js(開發人員如何使用):圖 4 - PDF 輸出

結論

最後,將 IronPDF 與 LoopBack 4 集成為網絡應用程序開發提供了一個強大的組合。 有了 LoopBack 4,開發人員可以輕鬆創建 RESTful API,並且可以專注於業務邏輯而非樣板代碼的強大框架。 不過,IronPDF 拥有顺利的 PDF 生成特性,使其能够从HTML文本创建动态PDF文档。

此外,兩者的靈活性和易用性都能簡化開發過程,使開發人員能夠快速生產高質量的應用程序。 由於 LoopBack 4 處理 API 後端訪問控制和 IronPDF 處理 PDF 創建,開發人員可以集中精力滿足業務需求並提供出色的用戶體驗。

We can guarantee feature-rich, high-end software solutions for clients and end users by integrating IronPDF and eight other libraries into your development stack. 此外,這個強大基礎將優化流程、後端系統和項目。 這些技術每件的起價為$799,由於其詳盡的文檔、活躍的線上開發者社群和經常更新,適合於現代軟件開發項目。

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

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

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

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