3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Homestead+Laravel+Vue.js] いちいちページリロードするのが大変だったのでホットリロードを試してみたら捗りすぎた話

Last updated at Posted at 2018-06-27

はじめに

保存(Ctrl + S)F5キーの連打、端的に言って疲れますよね。
特にフロントエンドはちょこっと修正してリロード...の繰り返しで、これ以上消費したくない!と思っていたところにHotreloadなるものを発見。
使えないかどうか検討してみた。

SPA構築云々は飛ばします。
過去の記事 とか これ 辺りを参考に。

デモ

2018-06-27_14h53_04.gif

環境

Vagrantから起動したHomesteadをWebサーバーにして開発してます。

手順

1.エントリポイント作成

トランスパイル後のjs側実行ファイルは public/js/app.js に出力されます。
これをエントリポイントで読み込んであげればオッケーなんですが…。

vue_layout.blade.php
...
<!-- 環境ごとの差分を考えないようにするにはこれよりも -->
<script src="{{ asset('js/app.js') }}"></script>
<script src="{{ secure_asset('js/app.js') }}"></script>

<!-- こっちの方がいいみたいです -->
<script src="{{ mix('js/app.js') }}"></script>
...

2.ローカル側でビルド実行

LocalMachine
npm run hot

3.VM側でサーバー起動

LocalMachine
vagrant ssh
homestead
cd code
php artisan serve

4.ブラウザから接続

http://localhost:8000 にアクセスするとホットリロード機能が有効になっている!はず。

まとめ

これでいちいちページリロードしなくてもよくなった!素敵!
あくまでもjsで記述されたものだけなので、例えばエントリポイント(bladeファイル)を書き換えた場合なんかは素直にリロードしてください。

ちなみにオレオレ証明書でSSLアクセスしてみたりといろいろ試しましたがどれもうまくいきませんでした。
何が悪いんだろう...。

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?