indilog

Ruby/Rails/React/Goなどに関して自分が勉強したことなどを投稿しています

【Rails】guard-livereloadを使ってみる

きっかけ

ReactJSの開発環境を設定している動画で、livereloadでサクサク開発をしているのが紹介されているのを見て、面白そうだなと思ってやってみました。

guard-livereload

github.com

RSpecとか更新時に色々と自動化してくれるやつのlivereload版。 viewファイルやCSSやJSなどといったファイルが更新された際に自動的にブラウザをリロードしてくれる。

インストール

Gemfile

group :development do
  gem "guard-livereload"
end

と書き、

bundle install

でインストール。

guard init livereload

でどのファイルを更新した時にリロードするのかといった設定を書くためのGuardfileを生成。 中身としては

# file needing a full reload of the page anyway
watch(%r{app/views/.+\.(#{rails_view_exts * '|'})$})
watch(%r{app/helpers/.+\.rb})
watch(%r{config/locales/.+\.yml})

などといったwatch~~な箇所が更新されたらリロードがされるようにデフォルトで生成されるファイルでは記述されている。

連携

chromeを使っているなら下から拡張機能をインストール。 chrome.google.com この状態で

bundle exec guard

を実行すると

INFO - LiveReload is waiting for a browser to connect.

という表示が出るので、

rails s

でサーバを立ち上げて、ブラウザでアクセスすると

INFO - Guard is now watching at [project名]

となり、これ以降にviewファイルなどを更新すると、自動的にリロードされるようになる。

Support

Guard::LiveReload is looking for a new maintainer. Please contact me if you're interested.

なんて書いてあって少し不安感あるけど、他にサクッと入れられるものはあるのだろうか。