Manjusaka

Manjusaka

PostCSSについての小さな解説

PostCSSは 2013 年 9 月に誕生し、現在では多くの開発者が使用しています。もしまだPostCSSに触れたことがないのであれば、この記事が適しています。

PostCSSCSSを変換するためのJavaScriptプラグインです。

PostCSS自体は非常に小さく、CSSパーサー、CSSノードツリーを操作するための API、リソース生成ツール(ソースマップ)、およびノードツリーを文字列化するツールのみを含んでいます。すべての魔法はプラグインを利用して実現されます。

現在、PostCSSのエコシステムには 100 種類以上のプラグインが存在しています。これらのプラグインはさまざまなことができます。例えば、lint(CSS コードをチェックするツール)、ベンダープレフィックス(ブラウザの固有の機能を使用するための接頭辞を追加する)、最新の CSS の機能を使用すること、CSS 内での統計データの提供、またはSassLessStylusなどの CSS プリプロセッサの使用が挙げられます。

以下の 10 種類のプラグインを見てみましょう#

Autoprefixer

CSSを解析し、ユーザーの使用状況に基づいてベンダープレフィックスを追加します。

PostCSS Focus

PostCSSプラグインで、各 **** セレクタを追加するためのキーボード操作を利用します。

PreCSS

Sassのようなマークアップをコード内で使用できるプラグインです。

Stylelint

CSSスタイルの一貫性を保ち、誤ったCSS linterを回避するための強力で先進的なツールです。

PostCSS CSS Variables

ユーザー定義のCSS変数を静的なスタイルに変換するプラグインです。

PostCSS Flexbugs Fixes

flexbugのバグを修正するためのプラグインです。

PostCSS CSSnext

最新のCSSの機能を使用できるプラグインです。最新のCSSの機能を現在のブラウザがサポートする機能に変換するため、特定の新機能のブラウザのサポートを待つ必要がありません。

PostCSS CSS Stats

cssstatsをサポートするプラグインです。このプラグインはcssstatsオブジェクトを返し、CSSの分析に使用することができます。

PostCSS SVGO

PostCSSでインライン SVG を最適化するためのプラグインです。

PostCSS Style Guide

スタイルガイドを自動生成するプラグインです。MarkdownCSSコメントを生成し、生成されたHTMLドキュメントに表示されます。

もし自分自身のプラグインを作成し、コミュニティに貢献したい場合は、まずガイドラインPostCSS プラグインのボイラープレートを参照してください。

PostCSSを仕事で使用する#

PostCSSJavaScriptで書かれているため、GruntGulpWebpackなどの一般的なフロントエンドビルドツールで簡単に使用できます。

以下はAutoprefixerプラグインを使用する例です。

npm install autoprefixer --save-dev

Gulp
Gulpを使用している場合は、gulp-postcssをインストールする必要があります。

npm install --save-dev gulp-postcss

gulp.task('autoprefixer', function () {
    var postcss      = require('gulp-postcss');
    var autoprefixer = require('autoprefixer');

    return gulp.src('./src/*.css')
    .pipe(postcss([ autoprefixer({ browsers: ['last 2 versions'] }) ]))
    .pipe(gulp.dest('./dest'));
});

Grunt
Gruntを使用している場合は、grunt-postcssをインストールする必要があります。

npm install grunt-postcss --save-dev

module.exports = function(grunt) {
    grunt.loadNpmTasks('grunt-postcss');

    grunt.initConfig({
        postcss: {
            options: {
                    map: true,
                processors: [
                    require('autoprefixer')({
                        browsers: ['last 2 versions']
                    })
                ]
            },
            dist: {
                src: 'css/*.css'
            }
        }
    });

    grunt.registerTask('default', ['postcss:dist']);

};

Webpack
Webpackを使用している場合は、postcss-loaderをインストールする必要があります。

npm install postcss-loader --save-dev

var autoprefixer = require('autoprefixer');

module.exports = {
    module: {
        loaders: [
            {
                test:   /\.css$/,
                loader: "style-loader!css-loader!postcss-loader"
            }
        ]
    },
    postcss: function () {
        return [autoprefixer];
    }
}

PostCSSの統合方法については、PostCSS リポジトリからヘルプを取得できます。

最後に、心からおすすめします~#

新しい技術、ツール、フレームワークがリリースされる際には、それを使用して発展を観察することは賢明な行動です。現在、PostCSSは非常に成熟した段階にあり、仕事で使用することを強くお勧めします。なぜなら、現在広く使用されており、将来的にも大きな変化はないからです。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。