gulpとBrowsersyncを使ってファイル変更検知と自動ブラウザリロードする
gulpとBrowsersyncを使うと、scssファイルの変更を検知したら、コンパイルしてブラウザを自動リロードすることができる。
説明書
環境
インストール
stylesタスク
gulpからlibsassを使うの記事に書いたのと同じタスクを使う。cssを書き出した後にbrowserSync.stream()
を入れておく。
serveタスク
- notify: trueにすると、画面右上に"Connected to BrowserSync"みたいなメッセージが表示される
- proxy: Railsアプリを動かしている場合は、webrickなどのIPやポート番号を設定する
- port: ブラウザーからアクセスする場合のポート番号。開発時にhttp://192.168.35.21:3000を開いていた場合はhttp://192.168.35.21:9000になる
- ui: 設定用画面を有効にするかどうか。
{port: 9001}
にすると9001番ポートで設定用画面にアクセスできる。
npm-scripts
説明書によると、package.jsonに"scripts"フィールドを設定しておくと、npm run gulp
でnode_modules/.bin/gulpを実行できるようになる。
これで、npm run gulp serve
としておくと、勝手にコンパイル+自動リロードができるようになった。
他のツールを使う場合
- https://github.com/Browsersync/recipes
- 他のツールとの組み合わせの設定例が載ってる。