Posted at

今更ながらBrowserSyncがすごい便利だなあ。


対象読者

基本的なことしか書いてないので、BrowserSync使ったことない方向けです。


執筆動機

これまで何も考えずにwebpack-dev-serverを使っていたんですが、ちょっと気分転換がてらにBrowserSyncを試してみたら、感動の機能が詰まっていたので、覚書ついでにここに書き残します。


BrowserSyncとは

これです。

https://www.npmjs.com/package/browser-sync

ローカルサーバーを立ち上げ、ファイル変更に応じて自動でリロードをしてくれるツールなのですが、それ以外にもたくさん便利機能がありました。(後述)

自分の場合、npm scriptsで以下のようなスクリプトを書いて動かしています。

"local:server": "browser-sync start --server './local/' --config bs-config.js",

左から、browser-syncを開始、--serverでデフォルトブラウザを起動し、localディレクトリをルートにして、bs-config.jsの設定通りに動かす、というようなかんじです。


便利① ブラウザ間での同期が自動で行われる

この機能がおそらくBrowserSyncの目玉なんじゃないでしょうか。

同じブラウザでなくとも、同時に起動しているブラウザには変更が即時に反映されます。

こんなかんじ。

1.mov.gif

これがあれば、ブラウザごとの動作比較の他にも、

PCとスマホの画面サイズを同時に検証できます・・・!


便利② CSSガイドやグリッドを表示してくれる

BrowserSyncには指定したポートで開ける設定管理画面があるのですが、そこに嬉しい機能が・・・!

2.mov.gif

CSS Outlining = CSSに応じて簡易的にアウトライン表示

CSS Depth Outlining = 試し忘れましたが、影をつけて要素の重なりが見える機能かと。。!

Overlay CSS Grid = デザインテストに便利なグリッド表示してくれます。


便利③

ネットワークのスピードをシミュレーションしてくれる

スクリーンショット 2019-02-08 16.47.37.png

ローカル開発をしながら、スローネットワークを再現してテストが可能なすぐれもの。


結論

いまのところローカルサーバーでの開発で一番優秀なんじゃないかと思っています。

設定も簡単。

作者に圧倒的感謝・・・!

お読みいただきありがとうございました。