Altbilgi içeriğine atla
NODE YARDıM

LoopBack node js (Geliştiriciler İçin Nasıl Çalışır)

IronPDF, PDF belgelerinin programlı olarak oluşturulması için bir kütüphane olan IronPDF ile LoopBack, Node.js çerçevesinin pürüzsüz entegrasyonu, LoopBack çerçeve uygulamaları içinde dinamik PDF oluşturma için eksiksiz bir çözüm sunar. Model oluşturma, veri kaynağı doğrulama, uzak yöntem ve erişim kontrolü gibi özelliklerle LoopBack çerçevesi API/web geliştirmeyi kolaylaştırır ve IronPDF, daha gelişmiş PDF üretim yetenekleriyle bunu geliştirir.

Bu entegrasyon sayesinde geliştiriciler, harici API'ler ve veritabanları da dâhil olmak üzere birden fazla kaynaktan veri çekerek anlık olarak PDF oluşturabilir. Bu, projeye özgü gereksinimleri karşılamak için fatura, sertifika, rapor ve benzeri kişiselleştirilmiş kayıtlar veya iş dâhil alan nesneleri oluşturmayı mümkün hale getirir. LoopBack asenkron olduğundan, IronPDF'nin PDF oluşturma görevlerini etkin bir şekilde yönetirken, olay döngüsüne müdahale etmeden yanıt verebilirlik ve en iyi performansı garanti eder.

LoopBack ve IronPDF ile çalışmaya başlamak için LoopBack'in CLI aracıyla yeni bir proje oluşturun ve IronPDF'yi bir bağımlılık olarak npm kullanarak yükleyin. LoopBack'in ara katman ve uzak yöntem yeteneklerini kullanarak müşteri isteklerine yanıt olarak anında PDF oluşturmak bir entegrasyondur. Tüm bunlar dikkate alındığında, bu entegrasyon geliştiricilere LoopBack uygulamaları içinde çeşitli belge oluşturma gereksinimlerini verimli bir şekilde karşılama imkanı verir.

LoopBack Node.js Nedir?

LoopBack adlı güçlü bir Node.js çerçevesi, API'ler oluşturmayı ve farklı veri kaynaklarıyla bağlantılarını kurmayı kolaylaştırmak için oluşturulmuştur. LoopBack sayesinde, StrongLoop'un bir ürünü olan geliştiriciler, ölçeklenebilir ve uyarlanabilir uygulamalar tasarlayabilir. Temelde, LoopBack, bir express framework'ü üzerine inşa edilmiştir ve model yönlü geliştirme metodolojisine dayanır, bu da programcıların uygulamalarının alanını simgeleyen veri modelleri oluşturmasına olanak tanır. Bu modeller, MySQL ve PostgreSQL gibi ilişkisel veritabanları, MongoDB gibi NoSQL veritabanları ile harici REST API'ler ve SOAP hizmetleri ile kolayca entegre edilebilir.

LoopBack, sağlanan modellere dayalı olarak otomatik olarak RESTful uç noktalar oluşturarak API geliştirme sürecini kolaylaştırır. Ayrıca, LoopBack, doğrulama, izin ve kimlik doğrulama için entegre destek sunar, geliştiricilerin API'larını güvence altına almasına ve veri bütünlüğünü sağlamasına olanak tanır. LoopBack'in ara katman mimarisi Express.js üzerine inşa edilmiştir, bu da onu esnek ve genişletilebilir hale getirir, geliştiricilerin mevcut ara katmanlarla çalışmasına veya benzersiz ihtiyaçları karşılamak için kendine özgü ara katmanlar oluşturmasına olanak tanır.

İster basit bir REST API isterse karmaşık bir mikro hizmet mimarisi oluşturuyor olun, LoopBack, geliştirmeyi hızlandırmak ve güvenilir, ölçeklenebilir çözümler üretmek için gereken yetenek ve araçları sağlar. Kapsamlı belgeleri ve canlı topluluğu sayesinde, geliştiriciler sık sık son teknoloji çevrimiçi ve mobil uygulamalar oluştururken onu tercih ederler.

LoopBack node js (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - LoopBack

LoopBack'in Özellikleri

  • Model Yönlü Mimari: Geliştiricilere veri modellerini şema temelli bir yaklaşımla tanımlama imkanı sunarak, LoopBack model-odaklı geliştirmeyi destekler. Modeller, veritabanları, REST API'leri ve SOAP hizmetleri dahil olmak üzere çeşitli veri kaynaklarını temsil etmek için kullanılabilir.
  • Veri Kaynağı Tarafsızlığı: LoopBack, MySQL, PostgreSQL gibi ilişkisel veritabanları, MongoDB gibi NoSQL veritabanları, harici REST API'leri ve SOAP hizmetleri dâhil birçok veri kaynağını destekler.
  • Otomatik REST API Oluşturma: LoopBack, önceden tanımlı modellere başvurarak API Explorer'da otomatik olarak RESTful API uç noktalarını oluşturur, şablon kodunu azaltır ve geliştirmeyi hızlandırır.
  • Kimlik Doğrulama ve Yetkilendirme İçin Yerleşik Destek: LoopBack, bu özellikler için yerleşik destek sunar ve geliştiricilerin API'larına rol tabanlı erişim denetimi (RBAC), kullanıcı kimlik doğrulama ve diğer güvenlik önlemlerini eklemesine olanak tanır.
  • Ara Katman ve Uzaktan Metotlar: Geliştiriciler, LoopBack kullanarak API uç noktalarının davranışını değiştirmek için ara katmanlar ve uzaktan metotlar sağlayabilir. Uzaktan metotlar, HTTP üzerinden uzaktan çağrılabilir özel işlevsellik sunarken, ara katman fonksiyonları isteği ve yanıtı kesebilir ve değiştirebilir.
  • LoopBack için Komut Satırı Arayüzü (CLI): LoopBack, yeni projeler oluşturmak, modeller ve denetleyiciler oluşturmak ve geçişleri gerçekleştirmek gibi tipik faaliyetleri kolaylaştıran güçlü bir CLI aracı içerir.
  • LoopBack Bileşenleri ile Entegrasyon: LoopBack, e-posta teslimatı, dosya depolama ve kimlik doğrulama özellikleri sağlayan, tekrar kullanılabilir modüller olan bileşenlerin kullanımını kolaylaştırır. Bu, geliştiricilerin uygulamalarına yeni özellikler eklerken sıfırdan başlamak zorunda kalmamalarını sağlar.
  • LoopBack Explorer: Geliştiriciler, LoopBack'in entegre API gezgini aracı ile API uç noktalarını etkileşimli bir şekilde inceleyip test edebilirler. Bu, hataların giderilmesini kolaylaştırır ve API'nin olanaklarını anlamayı sağlar.

LoopBack Node.js JS Kurma ve Yapılandırma

LoopBack uygulaması oluşturmak ve Node.js'de yapılandırmak için aşağıdaki prosedürleri kullanabilirsiniz:

LoopBack CLI Kurulumu

LoopBack Komut Satırı Arayüzü (CLI), LoopBack uygulamaları oluşturmak ve yönetmek için kaynaklar sunar, bu ilk adımdır. npm ile küresel olarak yükleyin:

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

Yeni LoopBack Uygulaması Oluşturma

Yeni bir çekirdek LoopBack uygulaması oluşturmak için CLI'i kullanın. Uygulamanızı oluşturmak istediğiniz dizini açın ve orada çalıştırın:

lb4 app
lb4 app
SHELL

Uygulamanızın adı, dizini ve etkinleştirmek istediğiniz fonksiyonellikler gibi bilgileri sağlamak için yönergeleri takip edin.

Aşağıdaki bilgileri sağlamanız istenecektir:

  1. Proje adı: Uygulamanızın adını girin, örneğin, my-loopback-app.
  2. Proje tanımı: İsteğe bağlı olarak uygulamanızı tanımlayın.
  3. Proje kök dizini: Varsayılanı kabul edin veya farklı bir dizin belirtin.
  4. Uygulama sınıfı adı: Varsayılan Uygulama değerini kabul edin.
  5. Prettier'i etkinleştir: Kod biçimlendirme için Prettier'i etkinleştirip etkinleştirmemeyi seçin.
  6. TSLINT'yi etkinleştir: Kodun analizi için TSLint'i etkinleştirip etkinleştirmemeyi seçin.
  7. Mocha'yı etkinleştir: Testleri çalıştırmak için Mocha'yı etkinleştirip etkinleştirmemeyi seçin.

CLI, proje yapısını oluşturacak ve gerekli bağımlılıkları kuracaktır.

Proje Yapısını Keşfedin

Proje dizininiz aşağıdaki yapıya sahip olacak:

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

Modelleri Tanımla

Veri yapınızı belirtmek için ya modelleri manuel olarak geliştirin ya da LoopBack CLI'sini kullanın. Çeşitli veri yapıları ve kaynaklar tarafından desteklenebilecek modeller, programınızdaki şeyleri temsil eder. Örneğin, Ürün adında yeni bir model oluşturmak için aşağıdaki komutu çalıştırın:

lb4 model
lb4 model
SHELL

Modelinizin özniteliklerini ve bağlantılarını belirtmek için talimatlara uyun.

Bir Kontrolcü Oluşturun

PDF belgeleri oluşturma isteklerini ele almak için yeni bir kontrolcü oluşturun. Yeni bir kontrolcü oluşturmak için LoopBack CLI'de aşağıdaki komutu kullanın:

lb4 controller
lb4 controller
SHELL

Kontrolcünün adını ve ilgili modelini tanımlamak için yalnızca yönergeleri izleyin. Diyelim ki kontrolcünün özellik adını Rapor modeliyle ilişkilendirmek ve ReportController olarak adlandırmak istiyoruz.

Veri Kaynaklarını Tanımla

Modellerinizin hangi veri kaynaklarıyla iletişim kuracağını belirleyin. MySQL, PostgreSQL, MongoDB gibi birçok veri tabanı LoopBack tarafından desteklenmektedir. Veri kaynaklarınızı yapılandırmak için datasources.json dosyasını güncelleyin veya LoopBack CLI'yi kullanın.

LoopBack'i Keşfedin

LoopBack'in özelliklerini araştırmak için http://localhost:3000/explorer adresinde bulunan yerleşik API keşif aracını kullanın. API uç noktalarınızı burada keşfedebilir ve test edebilirsiniz.

Örnek Ping Controller kodu

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),
    };
  }
}

Yukarıdaki koddan çıktı.

LoopBack node js (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - LoopBack Çıktısı

Başlarken

LoopBack Node.js ve IronPDF kullanarak, dinamik olarak oluşturulmuş bilgiler içeren bir PDF belgesi oluşturacak örnek bir uygulama oluşturarak başlayacağız. Bu, ayrıntılı açıklamalar içeren adım adım bir el kitabıdır.

IronPDF Nedir?

IronPDF adlı uygulama kütüphanesi, PDF'leri oluşturmayı, düzenlemeyi ve bakımını kolaylaştırmak için geliştirilmiştir. Bu uygulama ile geliştiriciler HTML belgelerinden metin ve resim çıkarabilir, başlık ve filigran uygulayabilir, birçok PDF belgesini birleştirebilir ve çeşitli diğer işlemleri gerçekleştirebilir. IronPDF kapsamlı belgeleri ve kullanıcı dostu API'si sayesinde geliştiricilere kolayca yüksek kaliteli PDF belgeleri otomatik olarak oluşturma olanağı sunar. IronPDF, faturalar, raporlar veya belgelerin hazırlanması için kullanılıyor olsun, belge iş akışlarını geliştirmek ve çok sayıda senaryoda birinci sınıf kullanıcı deneyimleri sunmak için gereken tüm özellikleri ve yetenekleri sunar.

LoopBack node js (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - IronPDF

IronPDF'nin Özellikleri

  • HTML'den PDF'ye dönüştürme işlemi basit ve hızlı bir süreçtir ve CSS ve JavaScript dahil olmak üzere her türlü HTML içeriği için kullanılabilir.
  • PDF dosyası birleştirme: Birden çok PDF belgesini tek bir PDF dosyasında birleştirerek belge yönetimi görevlerini kolaylaştırın.
  • Metin ve Görüntü Çıkarma: PDF dosyalarından metin ve görüntüleri çıkarın ve bunları ek veri analizi veya işleme için kullanılabilir hale getirin.
  • Filigranlar: Güvenlik veya markalama amacıyla PDF sayfalarına metin veya resim filigranları ekleyebilirsiniz.
  • Başlık ve Altbilgi Ekle: PDF belgelerinin başlık ve altbilgileri, özelleştirilmiş bir mesaj veya sayfa numaraları eklemenize olanak tanır.

IronPDF yükleyin

IronPDF işlevselliğini etkinleştirmek için gerekli Node.js paketlerini node paket yöneticisi kullanarak kurun.

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

LoopBack'i IronPDF Node.js ile Entegre Et

IronPDF kullanarak PDF belgeleri oluşturmak için oluşturulan denetleyici dosyasında (report.controller.ts veya report.controller.js) aşağıdaki mantığı uygulayın:

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

Rapor örneklerinin oluşturulması ve PDF oluşturma işlemleri ReportController tarafından yönetilir. HTML içeriği IronPDF kullanılarak bir PDF tamponuna dönüştürülür ve generatePdf yöntemi aracılığıyla geri döndürülür. HTML'yi PDF olarak işlemek için generatePdf fonksiyonu IronPDF kullanır. LoopBack kontrolcüsü bu entegrasyonu kolayca yönetir. Müşteriden gelen HTML içeriği, bir GET uç noktası tanımlanarak, /generate-pdf alınır. Sunulan HTML bilgisini, IronPDF kütüphanesini kullanarak uç nokta içinde bir PDF'ye dönüştürüyoruz.

Özellikle, PDF dosyasının ikili bir tamponunu üretmek için pdf.saveAsBuffer() kullanırız ve JSON dosyasından bir PDF nesnesi oluşturmak için IronPdf.PdfDocument.fromHtml(htmlContent) kullanırız. Sonrasında, bu tampon, uygun MIME türüyle (application/pdf) müşteriye geri gönderilir. PDF oluşturma sırasında ortaya çıkan sorunlar, 3000 numaralı bağlantı noktası üzerinden dinleyen sunucu tarafından tespit edilir ve günlüğe kaydedilir. Müşteriye 500 durum kodu ile geri bildirimde bulunulur. Bu yapılandırma, fatura, rapor veya bir web uygulaması için diğer belgeleri oluştururken yararlı olan dinamik PDF'leri HTML içeriğinden oluşturmayı mümkün kılar.

LoopBack node js (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - PDF Çıktısı

Sonuç

Son olarak, IronPDF'in LoopBack 4 ile entegrasyonu, çevrimiçi uygulama geliştirme için güçlü bir kombinasyon sunar. LoopBack 4 ile geliştiriciler, iş mantığı yerine kalıplaşmış koda odaklanmalarını sağlayarak güçlü bir çerçeve ile RESTful API'leri kolayca oluşturabilirler. Bununla birlikte, IronPDF, HTML metninden dinamik PDF belgeleri oluşturulmasını mümkün kılan sorunsuz PDF oluşturma özelliklerine sahiptir.

Ayrıca, LoopBack 4 ve IronPDF'in esnekliği ve kullanım kolaylığı, geliştiricilerin yüksek kaliteli uygulamaları hızlı bir şekilde üretmesini sağlayarak geliştirme sürecini hızlandırır. LoopBack 4 API arka uç erişim kontrollerini yönetirken ve IronPDF PDF oluşturma işlemlerini yürütürken, geliştiriciler iş gereksinimlerini karşılamaya ve mükemmel kullanıcı deneyimleri sağlamaya odaklanabilirler.

IronPDF ve diğer sekiz kütüphaneyi geliştirme yığınıza entegre ederek, müşteriler ve son kullanıcılar için özellik açısından zengin, üst düzey yazılım çözümleri sunabileceğimizden emin olabiliriz. Ayrıca, bu sağlam temel, süreçleri, arka uç sistemlerini ve girişimleri optimize edecektir. $799 itibarıyla, bu teknolojiler kapsamlı dokümantasyonu, canlı çevrimiçi geliştirici topluluğu ve sık güncellemeleri sayesinde çağdaş yazılım geliştirme projeleri için iyi bir uyum sağlar.

Darrius Serrant
Tam Yığın Yazılım Mühendisi (WebOps)

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimleri lisans derecesine sahiptir ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışmaktadır. Küçük yaşlardan itibaren kodlamaya ilgi duyan Darrius, bilişimi hem gizemli hem de erişilebilir buldu ve onu yaratıcılık ve problem çö...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara