Przejdź do treści stopki
POMOC NODE

Lodash NPM (jak to działa dla programistów)

Lodash to nowoczesna biblioteka narzędziowa JavaScript zapewniająca modułowość, wydajność i dodatkowe funkcje. Pomaga programistom pisać bardziej zwięzły i łatwiejszy w utrzymaniu kod, zapewniając szeroki zakres funkcji użytkowych do typowych zadań programistycznych.

W tym artykule zagłębimy się w Lodash, badając jego funkcje, zalety oraz sposoby efektywnego wykorzystania w projektach JS.

Czym jest Lodash?

Lodash to biblioteka JavaScript oferująca metody użytkowe do typowych zadań programistycznych, takich jak manipulowanie tablicami, obiektami i ciągami znaków. Została stworzona przez Johna-Davida Daltona w 2012 roku jako rozwidlenie Underscore.js, innej biblioteki narzędziowej, w celu zapewnienia lepszej wydajności i dodatkowych funkcji.

Lodash NPM (jak to działa dla programistów): Rysunek 1 – Kompilacja rdzenia Lodash

Modułowe metody Lodash obsługują nowoczesne srodowiska, oferując funkcje złożone w różnych formatach modułów. Jego wersja podstawowa oraz wersja FP zwiększają łatwość pracy z JavaScriptem, upraszczając manipulację ciągami znaków i iterację tablic. Biblioteka, eksportowana w różnych formatach modułów, zaspokaja różne potrzeby, zapewniając wydajną obsługę obiektów typu var i tablic typu var. Właśnie dlatego Lodash pozostaje najlepszym wyborem wśród bibliotek JS.

Najważniejsze cechy Lodash

Lodash obsługuje nowoczesne środowiska i zawiera szeroki wachlarz funkcji użytkowych, które można podzielić na kilka grup:

  1. Manipulacja tablicami: Funkcje do pracy z tablicami, takie jak map, filter, reduce, flatten i uniq.
  2. Manipulacja obiektami: Funkcje dla obiektów, w tym assign, keys, values, merge i omit.
  3. Manipulacja ciągami znaków: Funkcje do operacji na ciągach znaków, takie jak camelCase, capitalize, trim i escape.
  4. Manipulacja kolekcjami: Funkcje do obsługi kolekcji (tablic lub obiektów), takie jak each, groupBy, sortBy i shuffle.
  5. Funkcje użytkowe: Funkcje do pracy z funkcjami, w tym debounce, throttle, curry i bind.
  6. Narzędzia matematyczne: funkcje związane z matematyką, takie jak random, clamp i sum.

Korzyści z używania Lodash

1. Uproszczony kod

Lodash ułatwia korzystanie z JavaScript, oferując zwięzłe i czytelne metody do typowych zadań, co zmniejsza ilość kodu, który trzeba pisać i utrzymywać.

2. Zwiększona wydajność

Formaty modułów funkcji złożonych Lodash są zoptymalizowane pod kątem wydajności i często przewyższają wydajnością natywne implementacje JavaScript. To sprawia, że jest to cenne narzędzie do obsługi dużych zbiorów danych lub wykonywania złożonych operacji.

3. Spójność w różnych przeglądarkach

Zachowanie JavaScriptu może się różnić w zależności od przeglądarki i srodowiska. Lodash zapewnia spójne działanie, pomagając uniknąć problemów z kompatybilnością między przeglądarkami.

4. Podejście modułowe

Lodash można zaimportować w całości lub w mniejszych, modułowych częściach. Ta elastyczność pozwala programistom korzystać tylko z tych kategorii metod, których potrzebują, zmniejszając tym samym ogólny rozmiar pakietu dla ich aplikacji.

Jak korzystać z Lodash

Instalacja

Lodash można zainstalować za pomocą npm (Node Package Manager) lub yarn:

npm install lodash
npm install lodash
SHELL

Importowanie Lodash

Możesz zaimportować Lodash do swojego projektu, używając składni modułów CommonJS lub ES6. Oto jak to zrobić:

Korzystanie z CommonJS

const _ = require('lodash');
const _ = require('lodash');
JAVASCRIPT

Korzystanie z modułów ES6

import _ from 'lodash';
import _ from 'lodash';
JAVASCRIPT

Podstawowe zastosowanie

Przyjrzyjmy się kilku typowym przypadkom użycia i temu, jak Lodash upraszcza te zadania.

Manipulacja tablicami

  1. Filtrowanie tablicy:

    Użyj _.filter, aby utworzyć nową tablicę zawierającą elementy, które przejdą test zaimplementowany przez podaną funkcję.

const users = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 30 },
  { name: 'Jim', age: 35 }
];
const youngUsers = _.filter(users, user => user.age < 30);
console.log(youngUsers); // [{ name: 'John', age: 25 }]
const users = [
  { name: 'John', age: 25 },
  { name: 'Jane', age: 30 },
  { name: 'Jim', age: 35 }
];
const youngUsers = _.filter(users, user => user.age < 30);
console.log(youngUsers); // [{ name: 'John', age: 25 }]
JAVASCRIPT
  1. Znajdowanie unikalnej tablicy:

    Użyj _.uniq, aby utworzyć wersję tablicy bez duplikatów.

const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = _.uniq(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = _.uniq(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
JAVASCRIPT

Manipulacja obiektami

  1. Łączenie obiektów:

    Użyj _.merge, aby scalić obiekty źródłowe z obiektem docelowym poprzez rekurencyjne scalanie ich właściwości.

const object1 = { a: 1, b: 2 };
const object2 = { b: 3, c: 4 };
const mergedObject = _.merge(object1, object2);
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
const object1 = { a: 1, b: 2 };
const object2 = { b: 3, c: 4 };
const mergedObject = _.merge(object1, object2);
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
JAVASCRIPT
  1. Pomijanie właściwości:

    Użyj _.omit, aby utworzyć obiekt złożony z właściwości obiektu, które nie zostały pominięte.

const object = { a: 1, b: 2, c: 3 };
const newObject = _.omit(object, ['b']);
console.log(newObject); // { a: 1, c: 3 }
const object = { a: 1, b: 2, c: 3 };
const newObject = _.omit(object, ['b']);
console.log(newObject); // { a: 1, c: 3 }
JAVASCRIPT

Funkcje i narzędzia

  1. Eliminacja drgań funkcji:

    Użyj _.debounce, aby ograniczyć częste wywoływanie funkcji. Gwarantuje to, że funkcja zostanie wykonana tylko raz w danym przedziale czasu, niezależnie od tego, ile razy zostanie wywołane zdarzenie, do którego jest przypisana.

const saveInput = _.debounce(() => {
  console.log('Input saved');
}, 300);
// This will only be executed once every 300 milliseconds, regardless of how many times it's called.
const saveInput = _.debounce(() => {
  console.log('Input saved');
}, 300);
// This will only be executed once every 300 milliseconds, regardless of how many times it's called.
JAVASCRIPT
  1. Ograniczanie częstotliwości wywołań funkcji:

    Użyj _.throttle, aby ograniczyć wykonanie funkcji do nie więcej niż jednego razu w określonym przedziale czasu.

const updatePosition = _.throttle(() => {
  console.log('Position updated');
}, 1000);
// This function will be executed at most once every second.
const updatePosition = _.throttle(() => {
  console.log('Position updated');
}, 1000);
// This function will be executed at most once every second.
JAVASCRIPT

Wykorzystanie biblioteki Lodash wraz z IronPDF do generowania plików PDF na podstawie danych w środowisku Node.js

Lodash to wszechstronna biblioteka narzędzi JavaScript, która może uprościć wiele zadań związanych z przetwarzaniem danych, natomiast IronPDF for Node.js to potężne narzędzie do tworzenia i edycji dokumentów PDF. Łącząc te dwa narzędzia, programiści mogą efektywnie generować pliki PDF z różnych źródeł danych, co ułatwia tworzenie dynamicznych raportów, faktur i innych dokumentów.

IronPDF for Node.js

Przegląd IronPDF pozwala programistom tworzyć, edytować i wyodrębniać treści z plików PDF. Obsługuje generowanie plików PDF z adresów URL, plików HTML i ciągów znaków HTML, zapewniając elastyczne podejście do tworzenia plików PDF.

Lodash NPM (Jak to działa dla programistów): Rysunek 2 – IronPDF

Aby uzyskać bardziej szczegółowe informacje, odwiedź dokumentację IronPDF, gdzie znajdziesz szczegółowe wskazówki dotyczące korzystania z funkcji IronPDF.

Generowanie raportu PDF na podstawie danych

Wyobraź sobie, że masz listę danych użytkowników i musisz wygenerować raport w formacie PDF, zawierający informacje o każdym użytkowniku sformatowane jako HTML. Do manipulowania danymi i formatowania można użyć biblioteki Lodash, natomiast tworzeniem plików PDF zajmie się biblioteka IronPDF.

Przewodnik krok po kroku

  1. Zainstaluj niezbędne pakiety: Najpierw upewnij się, że w projekcie Node.js masz zainstalowane zarówno Lodash, jak i IronPDF:
npm i @ironsoftware/ironpdf lodash
npm i @ironsoftware/ironpdf lodash
SHELL
  1. Przygotuj dane: Załóżmy, że masz następujące dane użytkownika:
const _ = require('lodash');
const users = [
    { name: 'John Doe', age: 28, email: 'john@example.com' },
    { name: 'Jane Smith', age: 34, email: 'jane@example.com' },
    { name: 'Jim Brown', age: 45, email: 'jim@example.com' }
];
const _ = require('lodash');
const users = [
    { name: 'John Doe', age: 28, email: 'john@example.com' },
    { name: 'Jane Smith', age: 34, email: 'jane@example.com' },
    { name: 'Jim Brown', age: 45, email: 'jim@example.com' }
];
JAVASCRIPT
  1. Formatowanie danych za pomocą Lodash: Użyj Lodash do sformatowania danych użytkownika w ciąg znaków HTML:
const formatUserData = (users) => {
    return _.map(users, user => {
        return `
            <div>
                <h2>${_.escape(user.name)}</h2>
                <p>Age: ${user.age}</p>
                <p>Email: ${_.escape(user.email)}</p>
            </div>
        `;
    }).join('');
};

const userHtml = `
    <html>
    <head><title>User Report</title></head>
    <body>
        ${formatUserData(users)}
    </body>
    </html>
`;
const formatUserData = (users) => {
    return _.map(users, user => {
        return `
            <div>
                <h2>${_.escape(user.name)}</h2>
                <p>Age: ${user.age}</p>
                <p>Email: ${_.escape(user.email)}</p>
            </div>
        `;
    }).join('');
};

const userHtml = `
    <html>
    <head><title>User Report</title></head>
    <body>
        ${formatUserData(users)}
    </body>
    </html>
`;
JAVASCRIPT
  1. Generowanie pliku PDF za pomocą IronPDF: Użyj IronPDF do wygenerowania pliku PDF z HTML na podstawie sformatowanego ciągu znaków HTML:
const { PdfDocument } = require('@ironsoftware/ironpdf');
(async () => {
    const pdfFromHtmlString = await PdfDocument.fromHtml(userHtml);
    await pdfFromHtmlString.saveAs("user_report.pdf");
})();
const { PdfDocument } = require('@ironsoftware/ironpdf');
(async () => {
    const pdfFromHtmlString = await PdfDocument.fromHtml(userHtml);
    await pdfFromHtmlString.saveAs("user_report.pdf");
})();
JAVASCRIPT

Oto wygenerowany plik PDF z danymi sformatowanymi przy użyciu Lodash:

Lodash NPM (jak to działa dla programistów): Rysunek 3 – Wynik w formacie PDF

Wnioski

Połączenie Lodash z IronPDF w Node.js pozwala na wydajne przetwarzanie wstępne i przekształcanie danych przed generowaniem dokumentów PDF. Lodash upraszcza manipulację danymi, dzięki czemu kod jest bardziej czytelny i łatwiejszy w utrzymaniu, a IronPDF zapewnia zaawansowane możliwości tworzenia i edycji plików PDF.

Ceny licencji IronPDF zaczynają się już od $799.

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