PostCSSアーキテクチャ

PostCSSアーキテクチャの一般的な概要です。コアへの貢献を希望するすべての方、またはこのツールのより深い理解を望むすべての方にとって役立つでしょう。

概要

このセクションでは、PostCSSの背後にあるアイデアについて説明します。

PostCSSの開発に深く掘り下げる前に、PostCSSとは何か、そしてPostCSSではないものを簡単に説明しましょう。

PostCSS

ワークフロー

これは、PostCSSワークフロー全体の概要です。

workflow

上の図からわかるように、PostCSSアーキテクチャは非常にシンプルですが、一部は誤解される可能性があります。

「パーサー」と呼ばれる部分がありますが、この構造については後で詳しく説明します。今のところは、CSSのような構文を理解し、そのオブジェクト表現を作成できる構造と考えてください。

つまり、パーサーを作成する方法はいくつかあります。

2番目の方法が当社のニーズにとってより優れている理由を考えてみましょう。

まず第一に、文字列からトークンへのステップは、構文解析ステップよりも時間がかかります。大規模なソース文字列を操作し、文字単位で処理するため、パフォーマンスの観点から非常に非効率的な操作であり、一度だけ実行する必要があります。

しかし、一方で、トークンからASTへの変換は論理的により複雑であるため、このような分離により、非常に高速なトークナイザー(ただし、コードの可読性が低下することがあります)と、可読性の高い(ただし速度が遅い)パーサーを作成できます。

要約すると、2つのステップに分割することで、パフォーマンスとコードの可読性が向上します。

それでは、PostCSSワークフローで主要な役割を果たす構造をより詳しく見てみましょう。

コア構造

APIリファレンス

より詳細なAPIドキュメントはこちらにあります。