Sobes.tech
Junior

Czym jest pipe w kontekście rozwoju webowego?

sobes.tech AI

Odpowiedź od AI

W kontekście rozwoju web, szczególnie w frameworkach takich jak Angular, pipe (rura) to funkcja, która przekształca dane wejściowe w pożądany format do wyświetlenia w szablonie. Pipe są używane do filtrowania, formatowania lub sortowania danych bez zmiany samego modelu danych. Zwiększają ponowne użycie kodu i poprawiają czytelność szablonu.

Przykłady użycia:

  • Formatowanie dat: zamiana obiektu Date na łańcuch w określonym formacie (MM/dd/yyyy).
  • Formatowanie walut: dodanie symbolu waluty i formatowanie liczby.
  • Zmiana wielkości liter tekstu: konwersja tekstu na wielkie lub małe litery.
  • Filtrowanie list: wyświetlanie tylko tych elementów listy, które spełniają określone kryteria.
  • Sortowanie list: uporządkowanie elementów.

Składnia użycia w szablonie Angular:

<!-- Wyświetlenie daty w formacie MM/dd/yyyy -->
<p>{{ someDate | date:'MM/dd/yyyy' }}</p>

<!-- Wyświetlenie liczby jako waluty -->
<p>{{ price | currency:'USD':'symbol':'1.2-2' }}</p>

<!-- Konwersja tekstu na wielkie litery -->
<p>{{ someText | uppercase }}</p>

W innych kontekstach rozwoju web (np. w backendzie z Node.js lub przy pracy z przepływami danych), "pipe" może odnosić się do mechanizmu przekazywania wyjścia jednej komendy lub funkcji jako wejścia do innej, co pozwala na łączenie operacji. Na przykład, w Node.js stream.pipe() służy do przesyłania danych z odczytu do zapisu.

// Przykład użycia pipe w Node.js do kopiowania pliku
const fs = require('fs');

const readStream = fs.createReadStream('input.txt');
const writeStream = fs.createWriteStream('output.txt');

readStream.pipe(writeStream); // Przesyłanie danych z readStream do writeStream

Jednak najczęściej spotykane znaczenie "pipe" w kontekście frontendu, szczególnie w nowoczesnych frameworkach, wiąże się z przekształcaniem danych do wyświetlenia w szablonach.