gulpでPostCSSを使う方法

gulpのプラグインの中にはPostCSSというフレームワークを必要とするものもあります。
今回はgulpでPostCSSを使う方法についてまとめておきます。
PostCSS
PostCSSは、Node.js製のCSSを操作するプラグインの作成ができるフレームワークです。
PostCSS製のプラグインは有名なものが多く、
- 自動でベンダープレフィックスを付与してくれる「Autoprefixer」
- 次世代のCSSを、モダンな環境にも対応できるように書き換えてくれる「cssnext」
- CSSを圧縮してくれる「cssnano」
- Sassのような変数やextendが使えるようになる「PreCSS」
などがあります。
gulpでPostCSSをインストールする時は、PostCSS製のプラグインを使用する目的なのが一般的になります。
gulp-postcssのインストール
今回は自動でベンダープレフィックスを付与してくれるAutoprefixerを使用する事を想定してみます。
まず、gulpでPostCSSを使用する時はgulp-postcssというプラグインをが必要なので、それとAutoprefixerをインストールします。
$ npm install -D gulp
$ npm install -D gulp-postcss
$ npm install -D autoprefixer
gulp-postcssの使い方
gulp-postcssの使い方は簡単で、タスクの中で.pipe(postcss(プラグイン名とオプションの設定))を追加するだけです。
後のオプションは使うプラグインによって変わりますが、Autoprefixerの場合は下記のように記述して、対応するブラウザを指定しています。
const gulp = require('gulp');
postcss = require('gulp-postcss');
autoprefixer = require('autoprefixer');
gulp.task('css', () => {
return gulp.src('./src/css/*.css')
.pipe(postcss([
autoprefixer({
browsers: [
'last 2 versions',
'Explorer >= 10',
'iOS >= 9.0',
'Android >= 4.1']
})
]))
.pipe(gulp.dest('./dist/css'));
});Autoprefixerなど、PostCSS製だと単体では動かないプラグインもあって、その時にはgulp-postcssを入れる必要がある。とだけ覚えておけば良さそうです。

全角スペースを可視化してくれるVisual Studio Codeの拡張機能「zenkaku」
Vue CLIで共通のSCSSファイルを読み込む方法
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
選択テキストをHTMLタグですぐ囲めるようになるVisual Studio Code拡張機能「htmltagwrap」
Nuxt.jsの「layouts」を使用してレイアウトの共通化を行う方法|Nuxt.jsの基本
Visual Studio CodeでDart Sassのコンパイルができる拡張機能「DartJS Sass Compiler and Sass Watcher」
Visual Studio CodeでMovable TypeのMTMLファイルを開く拡張機能「Movable Type Markup Language Syntax」
CSS疑似要素(::beforeや::after)のcontent内で改行したり半角スペースを複数入力する方法
Vue CLIのプロジェクト管理用のGUI機能から環境を構築する
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
超軽量なコードエディタ 「Zed」をサブエディタとして活用する
Bartender 6で追加されたWidgets機能で自作メニューバーアイテムを簡単に作成する
Googleカレンダーを便利に活用するための小技集(祝日だけを表示・月末の繰り返しイベントを追加)
Obsidianを使った「自己流PKM」で行う知識トレーニング
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Path Finderを使ってキーボードだけでファイル操作する方法(応用編)
macOSのコマンドパレット比較!SpotlightとAlfred、Raycastどれを使えばいい?
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う