Grunt
インストール
npm install grunt-purgecss --save-dev
プラグインがインストールされたら、次の JavaScript コードを Gruntfile に記述して有効にできます。
grunt.loadNpmTasks('grunt-purgecss');
"purgecss" タスク
概要
プロジェクトの Gruntfile で、grunt.initConfig()
に渡されるデータオブジェクトに purgecss
という名前のセクションを追加します。
grunt.initConfig({
// Configuration to be run (and then tested).
purgecss: {
my_target: {
options: {
content: ['./src/**/*.html']
},
files: {
'dist/app.css': ['src/css/app.css']
}
}
}
});
オプション
purgecss のすべてのオプションは、プラグインで使用できます。以下に主なオプションを示します。完全なリストについては、Purgecss ドキュメントサイトを参照してください。
options.content
型: string | Object
Purgecss で分析するコンテンツを、ファイル名またはグロブの配列で指定できます。ファイルは HTML、Pug、Blade などを使用できます。
options.extractors
型: Array<Object>
Purgecss はニーズに合わせて調整できます。未使用の CSS が多数削除されていないことに気付いた場合は、カスタムエクストラクターを使用することをお勧めします。エクストラクターの詳細については、こちらを参照してください。
options.safelist
最終的な CSS に残しておくことが安全なセレクターを指定できます。これは、safelist
オプションを使用して実現できます。
このオプションには2つの形式があります。
safelist: ['random', 'yep', 'button', /^nav-/]
この形式では、safelist は文字列または正規表現を受け入れることができる配列です。
複合形式は次のとおりです。
safelist: {
standard: ['random', 'yep', 'button', /^nav-/],
deep: [],
greedy: [],
keyframes: [],
variables: []
}
options.keyframes
型: boolean
デフォルト値: false
animate.css などの CSS アニメーションライブラリを使用している場合は、keyframes
オプションを true に設定することで、未使用のキーフレームを削除できます。
options.fontFace
型: boolean
デフォルト値: false
CSS に未使用の @font-face
ルールがある場合は、fontFace
オプションを true に設定することで削除できます。
例
以下の例では、利用可能なすべての主要オプションを使用しています。
grunt.initConfig({
// Configuration to be run (and then tested).
purgecss: {
my_target: {
options: {
content: ['./src/**/*.html', `src/**/*.js`, 'src/**/*.blade', 'src/**/*.vue'],
extractors: {
extractor: class {
static extract(content) {
content.match(/a-Z/) || []
}
},
extension: ['html', 'blade']
},
safelist: ['random', 'yep', 'button', /red$/],
keyframes: true,
fontFace: true
},
files: {
'dist/app.css': ['src/css/app.css']
}
}
}
});