Przejdź do treści stopki
POMOC NODE

Do czego używany jest Node.js

Node.js to potężne narzędzie, które zmieniło oblicze tworzenia stron internetowych, umożliwiając programistom wykorzystywanie języka JavaScript do tworzenia różnorodnych aplikacji. Opiera się na języku JavaScript, jednym z najpopularniejszych języków programowania. W niniejszym przewodniku omówiono podstawy oraz odpowiedziano na pytanie "Do czego służy Node.js?" oraz dlaczego stał się on podstawowym elementem współczesnego tworzenia stron internetowych. Przyjrzymy się również IronPDF, bibliotece PDF dla Node.js.

Wprowadzenie do Node.js

Do czego służy Node.js: Rysunek 1 – Strona internetowa Node.JS

Node.js to otwarte, wieloplatformowe środowisko uruchomieniowe zaprojektowane do wykonywania kodu JavaScript poza przeglądarką internetową. Tradycyjnie JavaScript w ramach innych frameworków JavaScript był używany głównie do tworzenia interaktywnych elementów stron internetowych, działających w przeglądarce klienta. Node.js, jako zarówno framework JavaScript, jak i środowisko uruchomieniowe, rozszerza te możliwości, umożliwiając działanie po stronie serwera.

Oznacza to, że programiści mogą używać JavaScript, najpopularniejszego języka programowania, zarówno do tworzenia front-endu, jak i back-endu, usprawniając proces tworzenia oprogramowania dzięki wykorzystaniu tego samego języka w całym stosie aplikacji internetowej.

Jak działa Node.js

Sercem Node.js jest jego nieblokująca, sterowana zdarzeniami architektura, oparta na silniku JavaScript V8. Silnik V8, opracowany przez Google, kompiluje JavaScript do natywnego kodu maszynowego, umożliwiając jego szybkie i wydajne działanie. Node.js wykorzystuje pętlę zdarzeń i funkcje wywołania zwrotnego do obsługi wielu równoczesnych żądań bez tworzenia nowego wątku dla każdego z nich.

Oznacza to, że może on obsługiwać tysiące jednoczesnych połączeń, co czyni go niezwykle wydajnym rozwiązaniem do tworzenia skalowalnych aplikacji internetowych, które muszą obsługiwać dużą liczbę jednoczesnych żądań. Architektura ta jest korzystna dla uruchamiania kodu asynchronicznego, co ma kluczowe znaczenie dla wydajnego przetwarzania operacji, takich jak zadania wejścia/wyjścia.

Przykład: Asynchroniczne odczytywanie pliku

Rozważmy scenariusz, w którym musimy odczytać plik z systemu plików. W tradycyjnym programowaniu synchronicznym serwer czekałby na odczytanie pliku przed przejściem do kolejnego żądania klienta, co powodowałoby powstanie wąskiego gardła. Node.js radzi sobie jednak z tym scenariuszem inaczej:

const fs = require('fs');

// Asynchronously read from a file
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error("Error reading the file:", err);
    return;
  }
  console.log("File content:", data);
});

console.log("Reading file, please wait...");

W tym fragmencie kodu używamy modułu fs biblioteki Node.js do asynchronicznego odczytu pliku o nazwie example.txt. Metoda readFile przyjmuje funkcję wywołania zwrotnego, która jest wykonywana po zakończeniu operacji odczytu pliku. Ta funkcja sprawdza, czy nie ma błędów, a jeśli nie ma, wyświetla zawartość pliku. W międzyczasie reszta programu nadal działa, o czym świadczy komunikat "Odczyt pliku, proszę czekać...", który jest rejestrowany w konsoli przed wyświetleniem zawartości pliku. Ilustruje to nieblokujący charakter Node.js, gdzie pętla zdarzeń pozwala na wykonywanie innych zadań w trakcie oczekiwania na zakończenie operacji wejścia/wyjścia.

Wynik

Oto wynik po uruchomieniu kodu:

Do czego służy Node.js: Rysunek 2 – Wynik działania poprzedniego kodu w konsoli

Node.js w tworzeniu stron internetowych

Node.js stał się popularnym rozwiązaniem do programowania po stronie serwera dla programistów pragnących tworzyć szybkie, skalowalne aplikacje internetowe. Może służyć jako serwer internetowy lub być wykorzystywany do tworzenia serwerów internetowych, oferując poziom elastyczności, którego nie są w stanie zapewnić tradycyjne frameworki i języki programowania stron internetowych. W przeciwieństwie do innych technologii po stronie serwera, takich jak Ruby on Rails, które mają bardziej sztywną strukturę, Node.js zapewnia programistom swobodę w tworzeniu aplikacji według własnego uznania. Ta elastyczność, w połączeniu z możliwością wydajnej obsługi wielu równoczesnych żądań, sprawia, że Node.js szczególnie dobrze nadaje się do aplikacji internetowych po stronie serwera oraz aplikacji działających w czasie rzeczywistym, takich jak aplikacje do czatu lub aktualizacje na żywo.

Tworzenie prostego serwera WWW za pomocą Node.js

Jednym z najczęstszych zastosowań Node.js jest tworzenie serwerów internetowych. Ta funkcja pozwala programistom na wykorzystanie Node.js do tworzenia wydajnych, skalowalnych aplikacji internetowych. Node.js ułatwia konfigurację serwera internetowego, który może obsługiwać żądania HTTP i wysyłać odpowiedzi. Poniżej znajduje się podstawowy przykład tworzenia serwera internetowego przy użyciu Node.js.

Ten przykład pokazuje, jak skonfigurować prosty serwer WWW, który nasłuchuje żądań HTTP na porcie 3000 i odpowiada komunikatem "Hello, World!". Ten framework internetowy stanowi podstawowy krok w kierunku tworzenia bardziej złożonych aplikacji internetowych przy użyciu Node.js.

const http = require('http');

// Create a web server
const server = http.createServer((req, res) => {
  // Set the response header
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello, World!\n');
});

// The server listens on port 3000
server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

W tym kodzie wykorzystujemy moduł http do utworzenia serwera WWW. Metoda createServer jest wywoływana za każdym razem, gdy serwer otrzymuje żądanie. Ta funkcja wywołania zwrotnego otrzymuje dwa obiekty: req (żądanie) i res (odpowiedź). Używamy obiektu res do ustawienia nagłówka odpowiedzi HTTP i wysłania prostej odpowiedzi tekstowej z powrotem do klienta. Na koniec serwer nasłuchuje przychodzących żądań na porcie 3000, a my rejestrujemy komunikat w konsoli, aby wskazać, że serwer działa i jest gotowy do przyjmowania żądań.

Wynik

Oto wynik działania kodu JS:

Do czego służy Node.js: Rysunek 3 – Wynik działania konsoli z poprzedniego kodu

Ekosystem Node.js

Jedną z mocnych stron Node.js jest jego rozległy ekosystem, którego podstawą jest biblioteka rdzeniowa, Node.js Package Manager (NPM). NPM to ogromna biblioteka pakietów open source, z których programiści mogą korzystać w celu dodania funkcjonalności do swoich aplikacji, od frameworków i bibliotek po narzędzia i programy użytkowe. Ten rozległy ekosystem oznacza, że dla niemal każdej funkcji lub możliwości, którą chcesz dodać do swojej aplikacji, prawdopodobnie istnieje pakiet, który może w tym pomóc. Oprócz bibliotek JavaScript, NPM zapewnia dostęp do licznych frameworków JS, które odgrywają kluczową rolę w strukturyzowaniu i przyspieszaniu tworzenia aplikacji internetowych.

Wprowadzenie do IronPDF Node.js

Do czego służy Node.js: Rysunek 4 – Strona internetowa IronPDF

IronPDF for Node.js to wszechstronna biblioteka JavaScript, która ułatwia tworzenie, edycję i wyodrębnianie treści PDF w aplikacjach Node.js. Wykorzystując potężny silnik Chrome, może renderować pliki PDF z ciągów znaków HTML, plików i adresów URL, co czyni go doskonałym narzędziem do generowania plików PDF po stronie serwera. Biblioteka ta została zaprojektowana do obsługi wymagającego obliczeniowo procesu renderowania plików PDF, umożliwiając frameworkom frontendowym, takim jak ReactJs i Angular, przeniesienie tego zadania na stronę serwera.

Zainstaluj IronPDF

Aby rozpocząć korzystanie z IronPDF w projekcie Node.js, można zainstalować go za pomocą npm, używając polecenia npm install @ironsoftware/ironpdf. Biblioteka oferuje obsługę wielu platform dla Node.js 12.0+ i jest kompatybilna ze środowiskami Windows, Linux, Mac oraz Docker.

Przykład generowania pliku PDF

Oto podstawowy przykład konwersji HTML do dokumentu PDF:

import { PdfDocument } from "@ironsoftware/ironpdf";

// HTML to PDF
(async () => {
    const pdf = await PdfDocument.fromHtml("<h1>Hello, IronPDF!</h1>");
    await pdf.saveAs("html.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

// HTML to PDF
(async () => {
    const pdf = await PdfDocument.fromHtml("<h1>Hello, IronPDF!</h1>");
    await pdf.saveAs("html.pdf");
})();
JAVASCRIPT

Ten fragment kodu programowania asynchronicznego pokazuje generowanie pliku PDF z prostego ciągu znaków HTML. IronPDF obsługuje różne inne operacje, takie jak konwersja adresów URL do formatu PDF, umieszczanie na plikach PDF obrazów lub tekstu oraz manipulowanie strukturą danych istniejących dokumentów PDF poprzez scalanie, dzielenie i dodawanie stron.

Wynik

Po uruchomieniu kodu zostanie wygenerowany następujący plik PDF:

Do czego służy Node.js: Rysunek 5 – Plik PDF wygenerowany na podstawie poprzedniego kodu

Wnioski

Do czego służy Node.js: Rysunek 6 – Strona licencyjna IronPDF

Node.js stał się kluczowym narzędziem w arsenale współczesnych programistów internetowych. Jego architektura oparta na zdarzeniach, w połączeniu z wydajnością silnika JavaScript V8, sprawia, że jest to doskonały wybór do tworzenia szybkich, skalowalnych aplikacji internetowych i mobilnych. Niezależnie od tego, czy tworzysz mały projekt, czy aplikację internetową na dużą skalę, Node.js oferuje narzędzia, szybkość i elastyczność potrzebne do realizacji Twoich pomysłów.

Dla programistów, którzy chcą zintegrować funkcje generowania i edycji plików PDF ze swoimi aplikacjami Node.js, IronPDF oferuje atrakcyjne rozwiązanie. IronPDF for Node.js zapewnia kompleksową Suite narzędzi, które sprawiają, że praca z plikami PDF jest prosta i wydajna. Zainteresowani użytkownicy z pewnością ucieszą się, że IronPDF oferuje bezpłatną wersję próbną, która pozwala zapoznać się z jego funkcjami i możliwościami bez konieczności natychmiastowego podejmowania zobowiązań. Gdy już osobiście przekonasz się o zaletach tego rozwiązania, opcje licencyjne zaczynają się od $799, zapewniając ekonomiczny sposób na włączenie zaawansowanych funkcji PDF do projektów Node.js.

Darrius Serrant
Full Stack Software Engineer (WebOps)

Darrius Serrant posiada tytuł licencjata z informatyki z Uniwersytetu Miami i pracuje jako Full Stack WebOps Marketing Engineer w Iron Software. Już od młodych lat zainteresował się kodowaniem, postrzegając informatykę jako zarówno tajemniczą, jak i dostępną, co czyni ją doskonałym medium dla kreatywności ...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie