푸터 콘텐츠로 바로가기
노드 도움말

Prettier - NPM (개발자를 위한 작동 방식)

현대 소프트웨어 개발에서 깔끔하고 일관된 코드 스타일을 유지하는 것은 가독성, 협업 및 유지보수성을 위해 매우 중요합니다. TypeScript 용 내장 타입 선언 기능을 포함하는 Prettier 와 같은 도구는 코드 포맷팅이라는 번거로운 작업을 자동화하여 이러한 목표 달성에 필수적인 요소가 되었습니다. 이 글에서는 Prettier의 복잡한 기능, 이점, 통합 및 모범 사례를 자세히 살펴보겠습니다. 또한, 웹사이트 URL에서 PDF를 생성하기 위해 IronPDF PDF 생성 라이브러리에 대해서도 살펴보겠습니다.

Prettier 소개

Prettier는 코드의 스타일과 서식을 미리 정의된 규칙(예: 최대 줄 길이)에 따라 자동으로 조정하는, 특정 관점을 고수하는 코드 포맷터입니다. Prettier는 JavaScript, TypeScript, HTML, CSS, JSON 등 다양한 프로그래밍 언어를 지원하여 여러 기술 스택과 프로젝트 유형에 걸쳐 활용도가 높습니다. James Long이 개발한 Prettier는 강력한 기능과 사용 편의성으로 개발자 커뮤니티에서 큰 인기를 얻고 있습니다.

주요 특징 및 장점

  1. 일관된 코드 스타일: Prettier는 코드베이스 전체에 걸쳐 일관된 코딩 스타일을 적용하여 서식 지정 방식에 대한 논쟁을 없애고 코드 모양의 통일성을 보장함으로써 코드 검토 프로세스를 가속화합니다.
  2. 자동 서식 지정: Prettier는 코드 편집기 또는 빌드 프로세스와 통합하여 코드를 입력하는 동안 또는 커밋하기 전에 자동으로 코드를 서식 지정하므로 개발자의 귀중한 시간과 노력을 절약해 줍니다. 저장 시 실행되도록 설정하거나 특정 디렉터리에서만 적용하도록 설정할 수 있습니다.
  3. 설정 가능성: Prettier는 기본적으로 특정 서식 규칙을 따르지만, 프로젝트별 요구 사항에 맞게 서식 규칙을 조정할 수 있는 설정 가능성을 제공합니다.
  4. 언어 지원: 다양한 프로그래밍 언어와 형식을 기본적으로 지원하여 다양한 개발 환경과의 호환성을 보장합니다.
  5. 코드 품질: 코드 가독성이 향상되면 이해도가 높아지고, 일관성 없는 서식으로 인한 구문 오류나 버그 발생 가능성이 줄어듭니다.

Prettier 시작하기

설치

Prettier를 프로젝트에서 사용하려면 NPM 또는 yarn을 통해 설치하면 됩니다.

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

또는

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

용법

  • 명령줄 인터페이스(CLI): Prettier는 파일을 수동으로 포맷하거나 자동화된 포맷 작업을 위한 스크립트에 통합할 수 있는 CLI 도구를 제공합니다.
  • 에디터 통합: Visual Studio Code, Sublime Text, Atom 등 인기 에디터용 플러그인이 제공되어 입력하는 동안 실시간으로 서식을 지정할 수 있습니다.
  • Git Hooks: Git Hooks를 사용하여 커밋 전에 Prettier가 실행되도록 설정하여 모든 코드 변경 사항이 정의된 서식 규칙을 준수하도록 합니다.

통합 및 생태계

Prettier는 다양한 개발 도구 및 워크플로와 완벽하게 통합됩니다.

  • IDE 플러그인: IDE 및 텍스트 편집기와 통합되어 코드를 즉시 포맷팅함으로써 개발자 생산성을 향상시키고 코딩 표준을 유지합니다.
  • 빌드 시스템: 빌드 파이프라인 및 지속적 통합(CI) 워크플로에 통합되어 팀 프로젝트 전반에 걸쳐 일관된 코드 형식을 적용합니다.
  • 버전 관리: Git과 같은 버전 관리 시스템과 원활하게 연동되어 협업 과정 전반에 걸쳐 형식이 일관되게 유지되도록 합니다.

더 보기 좋게 만들기 위한 모범 사례

  • 기본 설정 사용: 불필요한 사용자 지정 없이 코드베이스 전체의 일관성을 유지하려면 Prettier의 기본 설정을 처음에는 그대로 사용하는 것이 좋습니다.
  • 버전 관리: 새로운 기능, 버그 수정 및 향상된 언어 지원을 활용하려면 Prettier를 정기적으로 업데이트하십시오.
  • 설정: 일관성을 유지하면서 프로젝트별 규칙이나 팀 선호도에 맞춰 Prettier의 설정을 세밀하게 조정합니다.
  • 교육 및 도입: 팀 구성원들이 Prettier를 도입하도록 장려하고, 코드 포맷팅에 대한 통일된 접근 방식을 조성하기 위해 Prettier의 이점에 대해 교육합니다.

IronPDF 소개

Prettier - NPM (개발자를 위한 작동 방식): 그림 1 - IronPDF

IronPDF 는 PDF 문서를 생성, 편집 및 변환하는 데 사용되는 인기 있는 PDF 생성 라이브러리입니다. IronPDF NPM 패키지는 Node.js 애플리케이션용으로 특별히 설계되었습니다. 다음은 IronPDF NPM 패키지의 주요 기능 및 세부 정보입니다.

주요 특징

HTML을 PDF로 변환

HTML 콘텐츠를 PDF 문서로 손쉽게 변환하세요. 이 기능은 웹 콘텐츠에서 동적 PDF를 생성하는 데 특히 유용합니다.

URL을 PDF로 변환

URL에서 직접 PDF를 생성하여 웹 페이지의 콘텐츠를 캡처하고 프로그램 방식으로 PDF 파일로 저장할 수 있습니다.

PDF 조작

기존 PDF 문서를 손쉽게 병합, 분할 및 편집하세요. IronPDF 페이지 추가, 문서 분할 등의 기능을 제공합니다.

PDF 보안

PDF 문서를 암호로 암호화하거나 디지털 서명을 적용하여 보안을 강화하세요. IronPDF 무단 접근으로부터 중요한 문서를 보호할 수 있는 다양한 옵션을 제공합니다.

고품질 출력

텍스트, 이미지 및 서식이 정확하게 표현된 고품질 PDF 문서를 제작하세요. IronPDF 생성된 PDF 파일이 원본 콘텐츠와 동일한 품질을 유지하도록 보장합니다.

크로스 플랫폼 호환성

IronPDF 는 Windows, Linux, macOS를 비롯한 다양한 플랫폼과 호환되므로 폭넓은 개발 환경에 적합합니다.

간단한 통합

IronPDF의 npm 패키지를 사용하면 IronPDF Node.js 애플리케이션에 쉽게 통합할 수 있습니다. API 문서가 잘 되어 있어 프로젝트에 PDF 생성 기능을 쉽게 통합할 수 있습니다.

설치

IronPDF NPM 패키지를 설치하려면 다음 명령어를 사용하십시오.

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

IronPDF 사용하여 PDF 문서를 생성하고 Prettier NPM 패키지를 사용합니다.

필수 구성 요소 설치: 먼저, 여기에 설명된 대로 다음 명령어를 사용하여 새 Next.js 프로젝트를 생성합니다.

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

다음으로 프로젝트 디렉토리로 이동하세요.

cd prettier-pdf
cd prettier-pdf
SHELL

필요한 패키지를 설치하세요:

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

편집기 및 기타 도구가 Prettier를 사용하고 있음을 알 수 있도록 빈 설정 파일을 생성합니다.

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

Prettier CLI와 편집기가 포맷하지 않을 파일을 알 수 있도록 .prettierign또는e 파일을 생성하세요. 다음은 샘플입니다.

# Ign또는e artifacts:
build
coverage
# Ign또는e all HTML files:
**/*.html

PDF 생성

이제 IronPDF 사용하여 간단한 PDF 생성 예제를 만들어 보겠습니다.

PDF 생성 API: 첫 번째 단계는 PDF 문서를 생성하는 백엔드 API를 만드는 것입니다. IronPDF 서버 측에서만 실행되므로 사용자가 PDF를 생성하고자 할 때 호출할 API를 만들어야 합니다. 파일을 pages/api/pdf.js 위치에 생성하고 아래의 내용을 추가하세요.

IronPDF 사용하려면 라이선스 키가 필요하며, 이 키는 라이선스 페이지 에서 얻어 다음 코드에 사용할 수 있습니다.

// pages/api/pdf.js

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

exp또는t 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 (err또는) {
    console.err또는("Err또는 generating PDF:", err또는);
    res.status(500).end();
  }
}
// pages/api/pdf.js

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

exp또는t 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 (err또는) {
    console.err또는("Err또는 generating PDF:", err또는);
    res.status(500).end();
  }
}
JAVASCRIPT

이제 index.js 코드를 수정하여 아래와 같이 Prettier와 IronPDF를 사용하세요.

imp또는t Head from "next/head";
imp또는t styles from "../styles/Home.module.css";
imp또는t React, { useState } from "react";

exp또는t 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 (err또는) {
      console.err또는("Err또는 generating PDF:", err또는);
    }
  };

  // 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: b또는der-box;
        }
      `}</style>
    </div>
  );
}
imp또는t Head from "next/head";
imp또는t styles from "../styles/Home.module.css";
imp또는t React, { useState } from "react";

exp또는t 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 (err또는) {
      console.err또는("Err또는 generating PDF:", err또는);
    }
  };

  // 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: b또는der-box;
        }
      `}</style>
    </div>
  );
}
JAVASCRIPT

yarn prettier를 사용하여 코드 형식을 지정합니다.

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

Prettier - NPM (개발자를 위한 작동 방식): 그림 2 - Prettier 실행

이제 다음 명령어를 사용하여 애플리케이션을 실행하세요.

yarn dev
yarn dev
SHELL

출력

Prettier - NPM (개발자를 위한 작동 방식): 그림 3 - IronPDF 출력이 포함된 Prettier

PDF

Prettier - NPM (개발자를 위한 작동 방식): 그림 4 - PDF 출력

IronPDF 라이선스

IronPDF npm 패키지는 라이선스 키로 실행됩니다. IronPDF 사용자가 구매하기 전에 기능을 체험해 볼 수 있도록 무료 평가판 라이선스 키를 제공합니다.

라이선스 키를 다음 자리 표시자에 입력하십시오.

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

결론

Prettier는 현대 소프트웨어 개발의 핵심 도구로서, 정확하고 효율적인 코드 포맷팅을 지원합니다. 다양한 언어에 걸쳐 일관된 코딩 스타일을 적용하고 기존 워크플로에 원활하게 통합할 수 있는 능력 덕분에 깔끔하고 유지보수 가능한 코드베이스를 추구하는 팀에게 필수적인 도구입니다. Prettier는 코드 서식 지정 작업을 자동화하여 개발자가 스타일의 세부 사항에 신경 쓰는 대신 품질 높은 코드를 작성하는 데 더 집중할 수 있도록 지원함으로써 소프트웨어 프로젝트의 생산성과 협업을 향상시킵니다. Prettier를 도입하여 코드 스타일 품질을 향상시키고 개발 프로세스를 간소화하세요.

IronPDF Node.js 개발자가 애플리케이션 내 PDF 처리 기능을 향상시켜 탁월한 기능, 안정성 및 성능을 제공할 수 있도록 지원합니다. IronPDF의 고급 PDF 생성, 변환 및 조작 기능을 활용하면 개발자는 문서 워크플로를 간소화하고 사용자 경험을 향상시키며 다양한 비즈니스 요구 사항을 자신 있게 충족할 수 있습니다. IronPDF 도입하여 Node.js 프로젝트에서 PDF 처리의 모든 잠재력을 활용하고 전문가 수준의 문서 솔루션을 손쉽게 제공하세요.

다리우스 세란트
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해