[Middleman 3] middleman build で Vagarant VM へ Livereload する
grunt-middleman と組み合わせて実現します。
上記に移行して middleman server
を利用しなくなり、Livereload ができなくなりました。
現状の環境で設定できないか検討します。
% middleman version
Middleman 3.3.6
Contents
Gruntfile.coffee
build を行った後、grunt-contrib-watch で監視しているディレクトリの変更で着火できれば良さそうです。
Gruntfile に設定を加えます。
# grunt-contrib-watch
watch:
middlemanBuild:
files: ['<%= dir.src %>/**/*.{scss,js,erb}']
tasks: ['middleman:build']
options:
livereload: true
ブラウザの LiveReload 機能拡張 もインストール済です。
Uncaught Error: Attempting to use a disconnected port object
さっそく更新をかけてみると、Livereload されないことが確認できました。
Developer Tools を確認すると、こんなエラーが表示されています。
Uncaught Error: Attempting to use a disconnected port object
ブラウザ拡張機能を調べてみると、こんなエラーになっていました。
こちらを見てみると、自動で探し当ててくれるとのこと。
IMPORTANT: there is no reason to worry about the port and address of your ‘remote’ server, livereload magically detect where need to restart the page. Is works for me as localhost:8080/webapp.com and 192.168.10.10/webapp.com identically
config.rb
そういえばいままで grunt & vagrant 環境で困ったことがないような。
middleman の設定ファイルを確認して activate :livereload
をコメントアウトしたところ、うまく動きました。
configure :development do
# activate :livereload
configure :development do 内を build
時には見ないと思っていましたが、コメントアウトしないと port 35729 を占領してしまうようです。
補遺
上記とは直接関係ないですが、探索中に見つけたのでメモ。