エクストラクター
PurgeCSSは、ニーズに合わせて調整できます。未使用のCSSが大量に削除されていないことに気付いた場合は、特定のエクストラクターを使用することをお勧めします。
PurgeCSSは、ファイルで使用されているセレクターのリストを取得するために、エクストラクターに依存しています。セレクターを含むファイルには、htmlファイル、pugのようなテンプレートファイル、さらにはjavascriptファイルなど、複数の種類があります。
デフォルトのエクストラクター
PurgeCSSは、すべての種類のファイルで動作するデフォルトのエクストラクターを提供していますが、制限があり、使用しているファイルの種類やCSSフレームワークに完全に適合しない場合があります。
デフォルトのエクストラクターは、ファイルのすべての単語をセレクターと見なします。デフォルトのエクストラクターには、いくつかの制限があります。
@
、:
、/
などの特殊文字は考慮されません。
エクストラクターの使用
PurgeCSSが未使用のCSSを十分に削除しない場合、または使用済みのCSSを削除する場合、エクストラクターを使用すると便利です。
拡張子に特定のエクストラクターを使用すると、最高の精度が得られます。htmlファイルのみをパージする場合は、purgecss-from-html
エクストラクターを検討することをお勧めします。
PurgeCSS設定ファイルでextractorsオプションを設定することにより、エクストラクターを使用できます。
import purgeJs from "purgecss-from-js";
import purgeHtml from "purgecss-from-html";
const options = {
content: [], // files to extract the selectors from
css: [], // css
extractors: [
{
extractor: purgeJs,
extensions: ["js"],
},
{
extractor: purgeHtml,
extensions: ["html"],
},
],
};
export default options;
エクストラクターの作成
エクストラクターは、ファイルの内容を文字列として受け取り、セレクターの配列を返す単純な関数です。慣例により、npmパッケージの名前はpurgecss-from-[ファイルの種類]
です(例:purgecss-from-pug)。この規則を使用すると、ユーザーはnpmでpurgecss-from
を検索することで、エクストラクターのリストを見つけることができます。
const purgeFromJs = (content) => {
// return array of css selectors
};
利用可能なエクストラクターのリスト(進行中)
警告
これらのエクストラクターはまだ開発中です。本番環境での使用はまだ推奨されていません。
- purgecss-from-html: HTMLファイル(.html)
- purgecss-from-jsx: JSXファイル
- purgecss-from-pug: Pugファイル(.pug)