ホームページ ウェブフロントエンド CSSチュートリアル Knip と PurgeCSS を使用して未使用のファイルと依存関係を削除してパフォーマンスを向上させる

Knip と PurgeCSS を使用して未使用のファイルと依存関係を削除してパフォーマンスを向上させる

Oct 06, 2024 am 06:10 AM

開発者として、私たちはパフォーマンスの向上を常に目指しています。読み込み時間の短縮、UI の応答性の向上、バンドル サイズの縮小など、パフォーマンスはユーザー エクスペリエンスに直接影響を与える重要な指標です。パフォーマンスを大幅に向上させることができる見落とされている領域の 1 つは、未使用のファイルと依存関係をクリーンアップすることです。この記事では、無効なコード、未使用のパッケージ、不要な CSS を特定して削除することで、プロジェクトをよりスリムで高速にする方法を検討します。また、Knip や PurgeCSS などのツールがこのプロセスの自動化にどのように役立つかについても見ていきます。

未使用のコードをクリーンアップすることが重要な理由

時間の経過とともに、プロジェクトには不要なファイル、依存関係、使用されなくなった CSS ルールが蓄積しやすくなります。これらの残り物によりプロジェクトが肥大化し、読み込みが遅くなり、保守が困難になり、すぐには気づかない形でパフォーマンスに影響を与える可能性があります。

未使用のコードを定期的に削除すると、JavaScript バンドルと CSS ファイルのサイズが縮小するだけでなく、読み込み時間が短縮され、メモリ使用量が削減され、アプリケーション全体のフットプリントが減少します。この実践は、すべてのキロバイトが重要となるフロントエンドのパフォーマンスにとって特に重要です。

仕事に役立つツール: Knip と PurgeCSS

プロジェクトを整理整頓しておく重要性を理解したところで、このプロセスを自動化するために使用できるツールについて簡単に説明しましょう。 Knip は JavaScript プロジェクトを分析し、未使用の依存関係とファイルを特定するために設計されたツールですが、PurgeCSS はスタイルシートから未使用の CSS クラスをクリーンアップすることに重点を置いています。これらのツールを組み合わせると、実際に使用しているコードのみが運用環境に移行するようになります。

パフォーマンスの向上: ワークフロー

  1. Knip を使用して依存関係を監査する プロジェクトをクリーンアップする最初のステップは、依存関係とモジュールを監査することです。 Knip はプロジェクトをスキャンし、インポートを分析し、使用されているものと安全に削除できるものに関するレポートを提供します。

インストールとセットアップ


npm init @knip/config


ログイン後にコピー

ランニング


npm run knip


ログイン後にコピー

Knip は、未使用の依存関係とファイルを強調表示するレポートを生成します。これにより、プロジェクトのどの部分が不要になったかをすばやく特定できるため、バンドル サイズを削減し、パフォーマンスを向上させることができます。

出力例
Boosting Performance by Removing Unused Files and Dependencies with Knip and PurgeCSS

この概要を使用すると、ファイルを安全に確認できます。

2. PurgeCSS
で CSS を最適化する CSS は、JavaScript と同様に、時間の経過とともに肥大化する可能性があります。 PurgeCSS は、スタイルシートから未使用の CSS セレクターを削除し、プロジェクトに必要なスタイルのみが含まれるようにするツールです。

インストール


npm i -D @fullhuman/postcss-purgecss postcss


ログイン後にコピー

ポストビルドで PurgeCSS CLI を実行する

私はこれをビルド後のスクリプトとして使用することを好みますが、必要なファイルに対してコマンドを構成することもできます。ビルド フォルダーとスクリプトへのパスを指定するだけです。


"scripts": {
      "postbuild": "purgecss --css dist/assets/*.css --content dist/index.html dist/assets/*.js --output dist/assets"
},


ログイン後にコピー

このセットアップでは、PurgeCSS が未使用の CSS クラスを自動的に削除し、はるかに小さく最適化されたスタイルシートを残します。
詳細については、PurgeCSS ドキュメントを確認してください。

3.定期的にレビューとリファクタリングを行う

Knip や PurgeCSS などのツールはクリーンアップ プロセスの大部分を自動化しますが、コードベースを定期的にレビューすることは依然として不可欠です。古いコードをリファクタリングし、使用されていないコンポーネントを削除し、プロジェクトが軽量で保守しやすい状態を維持することを習慣にしてください。 CI/CD パイプラインを使用してこのプロセスを自動化すると、開発を継続する際にコードベースを無駄がなくパフォーマンスを維持するのにも役立ちます。

結論

アプリケーションのパフォーマンスを向上させることは、効率的なコードを書くことだけではありません。プロジェクトをクリーンに保ち、不要なファイルや依存関係を排除することも重要です。未使用のコードを定期的に削除すると、プロジェクトのサイズが削減されるだけでなく、ロード時間が短縮され、メンテナンスが簡素化され、ユーザー エクスペリエンスが向上します。 Knip や PurgeCSS などのツールを使用すると、このクリーンアップ プロセスを簡単に自動化できますが、重要なのは、コードを常に監査して最適化する習慣を身に付けることです。

この考え方を採用し、これらのツールを利用することで、プロジェクトを高速かつ効率的に維持し、可能な限り最高のパフォーマンスを実現するように最適化することができます。

以上がKnip と PurgeCSS を使用して未使用のファイルと依存関係を削除してパフォーマンスを向上させるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

ペーパーフォーム ペーパーフォーム Apr 16, 2025 am 11:24 AM

購入またはビルドは、テクノロジーの古典的な議論です。自分で物を構築することは、あなたのクレジットカードの請求書にはラインアイテムがないため、安価に感じるかもしれませんが

毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター 毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター Apr 17, 2025 am 11:26 AM

今週のラウンドアップ、タイポグラフィを検査するための便利なブックマークレットである。

「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? 「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

クイックガルプキャッシュバスト クイックガルプキャッシュバスト Apr 18, 2025 am 11:23 AM

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

See all articles