Przejdź do treści stopki
POMOC NODE

Prettier - NPM (Jak to działa dla programistów)

W nowoczesnym tworzeniu oprogramowania utrzymanie przejrzystego i spójnego stylu kodu ma kluczowe znaczenie dla czytelności, współpracy i łatwości konserwacji. Narzędzia takie jak Prettier, które zawierają wbudowane deklaracje typów dla TypeScript, stały się nieodzowne w tych działaniach, automatyzując często żmudne zadanie formatowania kodu. W tym artykułe zagłębiamy się w zawiłości Prettiera, badając jego funkcje, zalety, integracje i najlepsze praktyki. Dodatkowo przyjrzymy się bibliotece IronPDF do generowania plików PDF na podstawie adresów URL stron internetowych.

Wprowadzenie do Prettier

Prettier to formatator kodu, który automatycznie dostosowuje styl i formatowanie kodu zgodnie z predefiniowanymi regułami, takimi jak maksymalna długość linii. Obsługuje różne języki programowania, w tym JavaScript, TypeScript, HTML, CSS, JSON i inne, dzięki czemu jest wszechstronny w różnych stosach technologicznych i typach projektów. Pierwotnie opracowany przez Jamesa Longa, Prettier zyskał znaczną popularność w społeczności programistów dzięki swoim solidnym możliwościom i łatwości użytkowania.

Najważniejsze cechy i zalety

  1. Spójny styl kodowania: Prettier wymusza spójny styl kodowania w całym kodzie źródłowym, eliminując dyskusje na temat preferencji formatowania i zapewniając jednolity wygląd kodu, co przyspiesza proces przeglądu kodu.
  2. Automatyczne formatowanie: Dzięki integracji z edytorem kodu lub procesem kompilacji Prettier automatycznie formatuje kod podczas pisania lub przed zatwierdzeniem zmian, oszczędzając programistom cenny czas i wysiłek. Można go skonfigurować tak, aby uruchamiał się przy zapisywaniu lub stosował się tylko w określonych katalogach.
  3. Konfigurowalność: Chociaż Prettier ma domyślnie swoje preferencje, oferuje pewną konfigurowalność, pozwalającą dostosować niektóre reguły formatowania do wymagań konkretnego projektu.
  4. Obsługa języków: Obsługuje szeroki wachlarz języków programowania i formatów od razu po uruchomieniu, zapewniając kompatybilność z różnorodnymi środowiskami programistycznymi.
  5. Jakość kodu: Poprawa czytelności kodu prowadzi do lepszego zrozumienia i zmniejsza prawdopodobieństwo wystąpienia błędów składniowych lub błędów spowodowanych niespójnym formatowaniem.

Pierwsze kroki z Prettier

Instalacja

Aby zacząć korzystać z Prettier w swoich projektach, możesz zainstalować go za pomocą NPM lub yarn:

npm install prettier --save-dev
npm install prettier --save-dev
SHELL

or

yarn add --dev prettier
yarn add --dev prettier
SHELL

Zastosowanie

  • Interfejs wiersza poleceń (CLI): Prettier udostępnia narzędzie CLI do ręcznego formatowania plików lub integracji ich ze skryptami w celu automatyzacji zadań formatowania.
  • Integracja z edytorami: Dostępne są wtyczki do popularnych edytorów, takich jak Visual Studio Code, Sublime Text, Atom i inne, umożliwiające formatowanie w czasie rzeczywistym podczas pisania.
  • Git Hooks: Skonfiguruj Prettier tak, aby uruchamiał się przed zatwierdzeniami za pomocą Git Hooks, aby zapewnić, że wszystkie zmiany w kodzie są zgodne z zdefiniowanymi regułami formatowania.

Integracje i ekosystem

Prettier płynnie integruje się z różnymi narzędziami programistycznymi i procesami pracy:

  • Wtyczki IDE: Integrują się ze środowiskami IDE i edytorami tekstu, umożliwiając formatowanie kodu w locie, co zwiększa wydajność programistów i pozwala zachować standardy kodowania.
  • Systemy kompilacji: Integruje się z procesami kompilacji i ciągłej integracji (CI), aby zapewnić spójne formatowanie kodu we wszystkich projektach zespołu.
  • Kontrola wersji: Współpracuje harmonijnie z systemami kontroli wersji, takimi jak Git, zapewniając spójność formatowania kodu podczas współpracy.

Najlepsze praktyki dotyczące Prettier

  • Użyj ustawień domyślnych: Na początku korzystaj z domyślnych ustawień Prettiera, aby zapewnić spójność w całym kodzie bez zbędnych dostosowań.
  • Wersjonowanie: Regularnie aktualizuj Prettier, aby korzystać z nowych funkcji, poprawek błędów i ulepszonej obsługi języków.
  • Konfiguracja: Dostosuj konfigurację Prettiera do konwencji obowiązujących w danym projekcie lub preferencji zespołu, zachowując spójność.
  • Edukacja i wdrożenie: Zachęcaj członków zespołu do korzystania z Prettier i informuj ich o korzyściach płynących z jego użycia, aby promować spójne podejście do formatowania kodu.

Wprowadzenie do IronPDF

Prettier - NPM (Jak To Dziala Dla Programistow): Rysunek 1 - IronPDF

IronPDF to popularna biblioteka do generowania plików PDF, służąca do tworzenia, edycji i konwersji dokumentów PDF. Pakiet IronPDF NPM został zaprojektowany specjalnie dla aplikacji Node.js. Oto kilka kluczowych funkcji i szczegółów dotyczących pakietu IronPDF NPM:

Najważniejsze cechy

Konwersja HTML do PDF

Z łatwością konwertuj treści HTML na dokumenty PDF. Ta funkcja jest szczególnie przydatna do generowania dynamicznych plików PDF na podstawie treści internetowych.

Konwersja adresów URL do formatu PDF

Generuj pliki PDF bezpośrednio z adresów URL, co pozwala na przechwytywanie treści stron internetowych i zapisywanie ich jako pliki PDF za pomocą kodu.

Manipulacja plikami PDF

Z łatwością scałaj, dziel i edytuj istniejące dokumenty PDF. IronPDF oferuje takie funkcje, jak dodawanie stron, dzielenie dokumentów i wiele innych.

Zabezpieczenia plików PDF

Zabezpiecz swoje dokumenty PDF, szyfrując je hasłami lub stosując podpisy cyfrowe. IronPDF oferuje opcje ochrony poufnych dokumentów przed nieuprawnionym dostępem.

Wysoka jakość tłumaczenia

Tworzenie wysokiej jakości dokumentów PDF z precyzyjnym renderowaniem tekstu, obrazów i formatowania. IronPDF gwarantuje, że wygenerowane pliki PDF zachowują wierność oryginalnej treści.

Kompatybilność międzyplatformowa

IronPDF jest kompatybilny z różnymi platformami, w tym Windows, Linux i macOS, dzięki czemu nadaje się do szerokiego zakresu środowisk programistycznych.

Prosta integracja

Z łatwością zintegruj IronPDF ze swoimi aplikacjami Node.js, korzystając z pakietu npm. API jest dobrze udokumentowane, co ułatwia włączenie funkcji generowania plików PDF do projektów.

Instalacja

Aby zainstalować pakiet IronPDF NPM, użyj następującego polecenia:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
SHELL

Generowanie dokumentu PDF przy użyciu IronPDF i pakietu Prettier NPM

Zainstaluj zależności: Najpierw utwórz nowy projekt Next.js, używając poniższego polecenia zgodnie z opisem tutaj.

npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest prettier-pdf --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
SHELL

Następnie przejdź do katalogu projektu:

cd prettier-pdf
cd prettier-pdf
SHELL

Zainstaluj wymagane pakiety:

yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
yarn add @ironsoftware/ironpdf @ironsoftware/ironpdf-engine-windows-x64
yarn add -D prettier
SHELL

Utwórz pusty plik konfiguracyjny, aby poinformować edytory i inne narzędzia, że korzystasz z Prettier:

node --eval "require('fs').writeFileSync('.prettierrc','{}\n')"
node --eval "require('fs').writeFileSync('.prettierrc','{}\n')"
SHELL

Utwórz plik .prettierignore, aby poinformować Prettier CLI i edytory, których plików nie należy formatować. Poniżej znajduje się przykład:

# Ignore artifacts:
build
coverage
# Ignore all HTML files:
**/*.html

Utwórz plik PDF

Teraz stwórzmy prosty przykład generowania pliku PDF przy użyciu IronPDF.

API do generowania plików PDF: Pierwszym krokiem jest stworzenie backendowego API do generowania dokumentów PDF. Ponieważ IronPDF działa wyłącznie po stronie serwera, musimy stworzyć API, które będzie wywoływane, gdy użytkownik zechce wygenerować plik PDF. Utworz plik w pages/api/pdf.js i dodaj ponizsza zawartosc.

IronPDF wymaga klucza licencyjnego, który można uzyskać na stronie licencji i wykorzystać w poniższym kodzie.

// pages/api/pdf.js

import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

export default async function handler(req, res) {
  try {
    const url = req.query.url;
    const pdf = await PdfDocument.fromUrl(url);
    const data = await pdf.saveAsBuffer();

    // Configure response headers to ensure the PDF file is downloaded
    res.setHeader("Content-Type", "application/pdf");
    res.setHeader(
      "Content-Disposition",
      "attachment; filename=awesomeIron.pdf"
    );
    res.send(data);
  } catch (error) {
    console.error("Error generating PDF:", error);
    res.status(500).end();
  }
}
// pages/api/pdf.js

import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Your license key";

export default async function handler(req, res) {
  try {
    const url = req.query.url;
    const pdf = await PdfDocument.fromUrl(url);
    const data = await pdf.saveAsBuffer();

    // Configure response headers to ensure the PDF file is downloaded
    res.setHeader("Content-Type", "application/pdf");
    res.setHeader(
      "Content-Disposition",
      "attachment; filename=awesomeIron.pdf"
    );
    res.send(data);
  } catch (error) {
    console.error("Error generating PDF:", error);
    res.status(500).end();
  }
}
JAVASCRIPT

Teraz zmodyfikuj kod index.js, aby uzyc Prettier i IronPDF, jak pokazano ponizej.

import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState } from "react";

export default function PrettierDemo() {
  const [text, setText] = useState("");

  // Function to generate PDF using the IronPDF backend API
  const generatePdf = async () => {
    try {
      const response = await fetch("/api/pdf?url=" + text);
      const blob = await response.blob();
      const url = window.URL.createObjectURL(new Blob([blob]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "awesomeIron.pdf");
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (error) {
      console.error("Error generating PDF:", error);
    }
  };

  // Handle input changes, updating the state
  const handleChange = (event) => {
    setText(event.target.value);
  };

  return (
    <div className={styles.container}>
      <Head>
        <title>Generate PDF Using IronPDF</title>
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <main>
        <h1>Demo Prettier and Generate PDF Using IronPDF</h1>
        <p>
          <span>Enter Url To Convert to PDF:</span>{" "}
          <input type="text" value={text} onChange={handleChange} />
        </p>
        <button style={{margin: 20, padding: 5}} onClick={generatePdf}>
          Generate PDF
        </button>
      </main>
      <style jsx>{`
        main {
          padding: 5rem 0;
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
      `}</style>
      <style jsx global>{`
        html,
        body {
          padding: 0;
          margin: 0;
          font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
            Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
            sans-serif;
        }
        * {
          box-sizing: border-box;
        }
      `}</style>
    </div>
  );
}
import Head from "next/head";
import styles from "../styles/Home.module.css";
import React, { useState } from "react";

export default function PrettierDemo() {
  const [text, setText] = useState("");

  // Function to generate PDF using the IronPDF backend API
  const generatePdf = async () => {
    try {
      const response = await fetch("/api/pdf?url=" + text);
      const blob = await response.blob();
      const url = window.URL.createObjectURL(new Blob([blob]));
      const link = document.createElement("a");
      link.href = url;
      link.setAttribute("download", "awesomeIron.pdf");
      document.body.appendChild(link);
      link.click();
      link.parentNode.removeChild(link);
    } catch (error) {
      console.error("Error generating PDF:", error);
    }
  };

  // Handle input changes, updating the state
  const handleChange = (event) => {
    setText(event.target.value);
  };

  return (
    <div className={styles.container}>
      <Head>
        <title>Generate PDF Using IronPDF</title>
        <link rel="icon" href="/favicon.ico" />
      </Head>
      <main>
        <h1>Demo Prettier and Generate PDF Using IronPDF</h1>
        <p>
          <span>Enter Url To Convert to PDF:</span>{" "}
          <input type="text" value={text} onChange={handleChange} />
        </p>
        <button style={{margin: 20, padding: 5}} onClick={generatePdf}>
          Generate PDF
        </button>
      </main>
      <style jsx>{`
        main {
          padding: 5rem 0;
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }
      `}</style>
      <style jsx global>{`
        html,
        body {
          padding: 0;
          margin: 0;
          font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
            Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue,
            sans-serif;
        }
        * {
          box-sizing: border-box;
        }
      `}</style>
    </div>
  );
}
JAVASCRIPT

Sformatuj kod za pomocą narzędzia yarn prettier:

yarn prettier . --write
yarn prettier . --write
SHELL

Prettier - NPM (Jak To Dziala Dla Programistow): Rysunek 2 - Uruchom Prettier

Teraz uruchom aplikację za pomocą polecenia:

yarn dev
yarn dev
SHELL

Wynik

Prettier - NPM (Jak To Dziala Dla Programistow): Rysunek 3 - Prettier z Wynikiem IronPDF

PDF

Prettier - NPM (Jak To Dziala Dla Programistow): Rysunek 4 - Wynik PDF

Licencja IronPDF

Pakiet IronPDF npm działa na podstawie klucza licencyjnego. IronPDF oferuje klucz licencyjny dla bezpłatnej licencji próbnej, aby umożliwić użytkownikom zapoznanie się z jego funkcjami przed dokonaniem zakupu.

Umieść klucz licencyjny w poniższym miejscu:

import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
import { IronPdfGlobalConfig, PdfDocument } from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
JAVASCRIPT

Wnioski

Prettier jest podstawowym narzędziem we współczesnym tworzeniu oprogramowania, usprawniającym formatowanie kodu z precyzją i wydajnością. Możliwość egzekwowania spójnych stylów kodowania w różnych językach oraz płynnej integracji z istniejącymi procesami pracy sprawia, że jest to narzędzie niezbędne dla zespołów dążących do uzyskania przejrzystych i łatwych w utrzymaniu baz kodu. Dzięki automatyzacji zadań związanych z formatowaniem kodu Prettier pozwala programistom skupić się bardziej na pisaniu wysokiej jakości kodu, a mniej na stylistycznych drobiazgach, co ostatecznie zwiększa produktywność i usprawnia współpracę w projektach oprogramowania. Wykorzystaj Prettier, aby podnieść jakość stylu kodu i usprawnić proces tworzenia oprogramowania już dziś.

IronPDF umożliwia programistom Node.js zwiększenie możliwości obsługi plików PDF w ich aplikacjach, oferując niezrównaną funkcjonalność, niezawodność i wydajność. Wykorzystując zaawansowane funkcje IronPDF do generowania, konwersji i edycji plików PDF, programiści mogą usprawnić przepływ dokumentów, poprawić komfort użytkowania i z pewnością spełnić różnorodne wymagania biznesowe. Wykorzystaj IronPDF, aby w pełni wykorzystać możliwości obsługi plików PDF w swoich projektach Node.js i bez wysiłku dostarczać profesjonalne rozwiązania w zakresie dokumentów.

Darrius Serrant
Inżynier oprogramowania Full Stack (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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie