開発者ドキュメント

cssnextおよびcssnanoを使用したPostCSSの概要

PostCSS は、スタイルを変換するJavaScriptプラグインの開発を容易にする新しいツールです。 これにより、CSSの操作をより簡単にする新しいプラグインの可能性の新しい世界が開かれます。 この投稿では、最も人気のある2つのPostCSSプラグインcssnextcssnanoを紹介しています。

例を挙げると、次のCSSスタイルがあるとします。

:root {
  --text: hotpink;
  --bg-color: #F9EC31;
  --flex-center: {
    display: flex;
    margin: auto;
  }
}

.box {
  background-color: var(--bg-color);
  color: color(hotpink whiteness(25%));
  @apply(--flex-center);
}

.warn {
  @apply(--flex-center);
}

cssnext は、スタイルを次のように変換します。

.box {
  background-color: #F9EC31;
  color: rgb(255, 64, 159);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}

.warn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
}

cssnextとcssnanoは、特定のニーズに応じて機能するように構成できますが、ここでは、デフォルトの使用方法を示します。 これで、ほとんどのユースケースがカバーされるはずです。

この例ではPostCSS-CLIも使用しますが、ワークフローに適している場合は、WebpackまたはGruntでPostCSSを使用することもできます。

PostCSS、PostCSS-CLI、cssnext、cssnanoのインストール

npmを介してcssnextおよびcssnanoプラグインを使用してPostCSSをインストールします。

$ npm install --save-dev postcss postcss-cli postcss-cssnext cssnano

または糸を通して:

$ yarn add postcss postcss-cli postcss-cssnext cssnano --dev

PostCSS-CLIの使用

使用する入力ファイルと出力ファイル、およびPostCSSプラグインを提供することにより、PostCSSコマンドラインインターフェイスを使用します。 –use フラグを使用してプラグインを指定し、 –ouput フラグを使用して出力ファイルを指定し、入力ファイルはフラグなしで最後に提供されます。

$ postcss --use postcss-cssnext --use cssnano --output styles-out.css styles.css

PostCSS CLIを監視モードで使用して、入力ファイルへの変更をリッスンすることもできます。

$ postcss --use postcss-cssnext --use cssnano --output styles-out.css styles.css --watch

json構成ファイルでよりきめ細かい構成オプションを指定し、 –configフラグを使用して構成ファイルを指定することもできます。

$ postcss --config postcss-config.json

構成ファイルは次のようになります。

{
  "use": ["postcss-cssnext", "cssnano"],
  "input": "styles.css",
  "output": "styles-out.css"
}

npmスクリプト

ワークフローを簡単にするには、プロジェクトのpackage.jsonファイルにpostcssスクリプトを設定するだけです。

"scripts": {
  "postcss": "postcss --use postcss-cssnext --use cssnano --output styles-out.css styles.css"
}

これで、次のコマンドを実行するだけです。

$ npm run postcss
モバイルバージョンを終了