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を入れる必要がある。とだけ覚えておけば良さそうです。

gulpでSSI(サーバーサイドインクルード)を使用する「connect-ssi」
Dashで「Secure Input is Enabled」と表示される場合の対処法
常時SSL化の設定をしたのに「保護された通信」が表示されない時はパスにHTTPが残っているのかも?
CSS疑似要素の「:empty」でタグの中身が空のときのスタイルを設定する
属性・Class・IdなどHTMLタグの細かい部分を見ていこう!!
WordPressで既に公開済みの記事の更新を、指定した日付に反映する方法「PublishPress Revisions」
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
Visual Studio CodeをMarkdownエディターとして使用する
サーバーのアップロードファイルの最大容量の確認と変更方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Figmaで企業やサービスのブランドロゴやカラーをすぐ参照できるプラグイン「Brandfetch」
PS Auto Sitemapを使って自分のブログのサイトマップを作成する
HTMLタグの入力をラクにするスニペット集
Search Consoleのカバレッジで「送信された URL に noindex タグが追加されています」と表示された時の対処法
自分で撮影した写真を投稿していくギャラリーサイトをTumblrで作成してみました
Dart Sassを使う上で1番基本的なネストやアンパサンドの書き方|Dart Sass入門
chezmoi(シェモア)で始めるdotfiles管理
一瞬で日時を取得するKeyboard Maestroのタイムスタンプ機能についてまとめる