Webpack 4 + Less + Autoprefixer を使うサンプル
CSSに自動でベンダープレフィックスを付与してくれるAutoprefixer。今更ながら、WebpackでLessと連携させてみた。
[ webpack 4.43.0 / autoprefixer 9.8.0 / postcss-loader 4.0.4]
必要なものインストール
ここではサンプルを autoprefixer-20200518 ディレクトリ以下で作る。
必要なものをインストール。
Webpack設定
postcss.config.js
で設定してもいいのだが、ここでは webpack.config.js
の中でやる。
以下の webpack.config.js
では、ファイル名末尾が .less
であるファイルに対して less-loader
→ postcss-loader
→ css-loader
→ style-loader
を順番に適用するようになっている。
これにより、lessからコンパイルしたCSSに autoprefixer
をかけたものを、JavaScriptファイル中にバンドルすることができる。
動かしてみよう
とりあえずエントリポイント index.js
を以下の通りに作成。1行だけ。
次にLessファイルを準備。style.less
を以下の通りに作成し、中身はベンダープレフィックスがあるスタイル (ここでは user-select
) を含めておく。
最後に、これを表示させるだけの index.html
を作成。バンドル後のJavaScriptファイル bundle.js
を読み込むようにしておく。
これで準備完了。あとはプロジェクト直下で以下コマンドでWebpackを実行し、bundle.js
を生成。
完了したらブラウザで index.html
を開く。と、↓のように1行目だけ赤くなっているはず。
また、user-select: none
なので、テキストを Ctrl + A などで選択しようとしても選択できないはず。
Chromeの開発者ツールで1行目のスタイルを見てみると、user-select: none
に加えて、↓のように自動でベンダープレフィックス -webkit-user-select
-moz-user-select
-ms-user-select
が追加されていることがわかる。
以上。