フッターコンテンツにスキップ
ノードヘルプ

Prettier - NPM (開発者向けのしくみ)

現代のソフトウェア開発において、クリーンで一貫したコードスタイルを維持することは、可読性、協力、保守性にとって重要です。 TypeScriptの型宣言を含むPrettierのようなツールは、コードフォーマットという時に面倒な作業を自動化して、この目的に不可欠な存在となっています。 この記事では、Prettierの複雑さを掘り下げ、その機能、利点、統合、およびベストプラクティスを探ります。 さらに、IronPDF PDF生成ライブラリを見て、ウェブサイトURLからPDFを生成します。

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 フック: Git フックを使用してコミット前に 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を含む様々なプラットフォームと互換性があり、幅広い開発環境に適しています。

シンプルな統合

npmパッケージを使用してNode.jsアプリケーションにIronPDFを簡単に統合します。 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処理の可能性を完全に引き出し、プロフェッショナルグレードのドキュメントソリューションを楽に提供しましょう。

Darrius Serrant
フルスタックソフトウェアエンジニア(WebOps)

Darrius Serrantは、マイアミ大学でコンピュータサイエンスの学士号を取得し、Iron SoftwareでフルスタックWebOpsマーケティングエンジニアとして働いています。若い頃からコーディングに惹かれ、コンピューティングを神秘的かつアクセス可能なものとし、創造性と問題解決のための完璧な媒体と考えていました。

Iron Softwareでは、新しいものを創造することと、複雑なコンセプトをより理解しやすくすることを楽しんでいます。Resident Developerの一人として、次世代に専門知識を共有するために、学生を教えることにも志願しました。

Darriusにとって、その仕事は価値があり、実際の影響があるため、満足感があります。