跳至頁尾內容
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?

一種強大的Node.js框架稱為LoopBack,旨在使API建立和將其連接到不同資料源變得更容易。 通過LoopBack,StrongLoop的產品,開發者可以輕鬆設計可擴展和適應性的應用。從根本上說,LoopBack構建於express框架之上,並基於模型驅動的開發方法,讓程式員建立表示其應用領域的資料模型。 這些模型可以輕鬆地與MySQL和PostgreSQL等關聯性資料庫、MongoDB等NoSQL資料庫,以及外部REST API和SOAP服務整合。

LoopBack的獨特之處在於它透過根據提供的模型自動生成RESTful端點,簡化了API開發過程。 此外,LoopBack具有針對驗證、權限和身份驗證的整合支持,允許程式員保護其API並保證資料完整性。 因為LoopBack的中介軟體架構基於Express.js,所以它是可擴展且靈活的,支持開發者使用現有的中介軟體或建立定制的中介軟體來滿足獨特的需求。

無論您是在建立簡單的REST API還是複雜的微服務架構,LoopBack都擁有加速開發和生成可靠、可擴展解決方案所需的功能和工具。 由於其豐富的文件和活躍的社群,開發者在建立先進的網頁和移動應用時經常選擇它。

LoopBack Node.js(它如何為開發人員工作):圖一 - LoopBack

LoopBack的特徵

  • 模型驅動架構: 透過允許開發者以基於架構的方法定義資料模型,LoopBack支援模型驅動開發。 可以使用模型來表示多種資料來源,包括資料庫、REST API 和 SOAP 服務。
  • 資料來源不可知論: LoopBack 支援多種資料來源,包括關聯性資料庫(MySQL、PostgreSQL)、NoSQL 資料庫(MongoDB)、外部 REST API 和 SOAP 服務。
  • 自動化的 REST API 生成: LoopBack 使用預先定義的模型在 API Explorer 中自動建立 RESTful API 端點,減少模板程式碼並加快開發速度。
  • 內建認證和授權支持: LoopBack 提供這些功能的內建支持,使開發者能夠在其 API 中整合基於角色的存取控制(RBAC)、使用者身份驗證和其他安全措施。
  • 中介軟體和遠程方法: 開發者可以使用 LoopBack 提供中介軟體和遠程方法來改變 API 端點的行為。 中介軟體功能可以攔截和修改請求和回復,而遠程方法提供可透過 HTTP 遠端調用的定制功能。
  • LoopBack 的命令行介面(CLI): LoopBack 包含一個強大的 CLI 工具,使建立模型和控制器、新項目建立和遷移等典型活動變得更容易。
  • 與 LoopBack 組件的整合: LoopBack 促進了組件的使用,它是可重用的模組,提供電子郵件傳遞、文件儲存和認證功能。 這樣可以讓開發者在向其應用新增新功能時免於從頭開始。
  • LoopBack Explorer: 使用 LoopBack 的整合 API 探索工具,開發者能夠互動地檢查和測試 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 應用程式

using 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

只需遵循提示來定義控制器的名稱和相關模型。假設我們想將控制器的屬性名稱與報告模型關聯,並將其稱為 ReportController。

定義資料來源

確定您的模型將通信的資料來源。 LoopBack 支持多種資料庫,如 MySQL、PostgreSQL、MongoDB 等。 要配置您的資料來源,請更新 datasources.json 檔案或使用 LoopBack CLI。

探索 LoopBack

使用內建的 API 探索工具,該工具可在 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(它如何為開發人員工作):圖二 - LoopBack 輸出

入門指南

我們將從建立一個使用 LoopBack Node.js 和 IronPDF 的範例應用程式開始,以建立一個具有動態生成資訊的PDF文件。 這是一個逐步介紹的手冊,附有詳細的解釋。

什麼是IronPDF?

一個稱為IronPDF的應用程式庫被開發出來,以使建立、編輯和維護PDF更加簡單。 使用這個應用,開發者可以從HTML文件中提取文字和圖片,新增標頭和水印,合併多個PDF文件,並執行多種其他活動。 IronPDF具有使用者友好的API和詳細的技術文档,使開發者可以輕鬆地自動建立高質量的PDF文件。 IronPDF提供了所有改善文件工作流程功能和在不同情境中提供卓越使用者體驗所需的功能和能力,無論是用於準備發票、報告還是文件。

LoopBack Node.js(它如何為開發人員工作):圖三 - IronPDF

IronPDF的功能

  • HTML 到 PDF 的轉換 是一個簡單快捷的過程,適用於包括CSS和JavaScript的任何HTML內容。
  • PDF 文件合併: 將多個 PDF 文件合併成單個 PDF 文件,以簡化文件管理工作。
  • 文字和圖片提取: 從PDF文件中取出文字和圖片,以便進行進一步的資料分析或處理。
  • 水印: 出於安全或品牌原因,可以在PDF頁面中新增文字或圖片水印。
  • 包括標頭和頁尾: PDF 文件的標頭和頁尾允許您包含自訂訊息或頁碼。

安裝IronPDF

使用節點套件管理器安裝必要的Node.js套件以啟用IronPDF功能。

 npm i @ironsoftware/ironpdf

與 IronPDF Node.js 整合的 LoopBack

在建立的控制器文件中(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;
  }
}

報告實例和PDF生成是由 ReportController 處理的。 HTML內容經IronPDF轉換為PDF緩衝區,然後透過generatePdf方法返回。 為了將HTML渲染為PDF,generatePdf函式使用 IronPDF。 LoopBack 控制器輕鬆處理這項整合。 然後通過定義 GET 端點來接收客戶端的 HTML 內容,/generate-pdf。 我們在端點內利用 IronPDF 程式庫將提供的 HTML 資訊轉換為 PDF。

具體來說,我們使用 pdf.saveAsBuffer() 生成PDF文件的二進制緩衝區,並使用 IronPdf.PdfDocument.fromHtml(htmlContent) 從 JSON 文件構建 PDF 物件。然後,客戶端會收到一個適當的 MIME 型別的緩衝區(application/pdf )。 在3000端口監聽的伺服器會檢測並記錄建立PDF時出現的任何問題,並向客戶端回傳500狀態程式碼。 這種配置讓基於HTML內容建立動態PDF變得可能,這在為網頁應用製作賬單、報告或其他文件時很有用。

LoopBack Node.js(它如何為開發人員工作):圖四 - PDF 輸出

結論

最終,IronPDF 與 LoopBack 4 的整合為網頁應用開發提供了強大的組合。 使用 LoopBack 4,開發者可以輕鬆構建具有強大框架的 RESTful API,使他們可以專注於業務邏輯,而不是樣板程式碼。 然而,IronPDF 具有順暢的 PDF 生成功能,使得能夠從 HTML 文字建立動態 PDF 文件成為可能。

此外,LoopBack 4 和 IronPDF 的靈活性和易用性使開發過程變得更精簡,使開發者能夠快速創造出高質量的應用程式。 由於 LoopBack 4 處理 API 後端存取控制而 IronPDF 處理 PDF 建立,開發者可以專注於滿足業務需求並提供卓越的使用者體驗。

通過將 IronPDF 以及 其他八個程式庫 整合到您的開發堆棧中,我們可以為客戶和最終使用者保證功能豐富的高端軟體解決方案。 此外,這一強大基礎將優化過程、後端系統和計劃。 從 $999 起,各種技術設其艷而巧地合適於當代軟體開發專案,因為其豐富的文件、活躍的在線開發者社區及頻繁的更新。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話