Laravelのartisan serveとwebpack-dev-serverを両方使う
Laravel
の開発サーバーとwebpack
の開発サーバー(webpack-dev-server
)を共存させ、Hot Module Replacement
(HMR
)を行います。
Laravelの開発サーバーの起動
最初にLaravel
の開発サーバーを起動します。ポート番号は適宜変更してください。下記の例ではポート番号を8080
と指定しているため、localhost:8080
が開発サーバーとなります。
$ php artisan serve --port=8080
webpackの設定
次にwebpack.config.js
のdevServer
の設定を変更します。
Vue.js webpackでHot Module Replacementを行うで設定したwebpack.config.js
にport
とproxy
の設定を追加します。
proxy
のポート番号はLaravel
の開発サーバーのポート番号と同じにします。
webpack.config.js
devServer: {
contentBase: __dirname + '/public',
publicPath: '/',
port: 3000,
proxy: {
'*': 'http://localhost:8080'
},
noInfo: true,
historyApiFallback: true
}
確認
--hot
オプションを指定してwebpack-dev-server
を起動すると、Hot Module Replacement
が有効でLaravel
の開発サーバーと同じフォルダを参照するlocalhost:3000
が起動します。
必ずLaravel
の開発サーバーは起動させておく必要があります。
Dockerを使う場合
Docker
のコンテナでwebpack-dev-server
を起動してホスト側からアクセスする方法はDockerでwebpack-dev-serverを起動してホストからアクセスするで紹介しています。