Поставил laravel в связке с laradock. При установке vue столкнулся с проблемой, что hot reload не работает.
До Laravel Mix 6
Помог комментарий на github. В package.json для таска hot надо добавить --host 0.0.0.0
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js --host 0.0.0.0"Также стоит проверить как подключен скрипт. Должен использоваться mix, а не asset.
<script src="{{ mix('js/app.js') }}" defer></script>Laravel Mix 6
В laravel mix 6 команду изменили
"hot": "mix watch --hot"Чтобы заработало, надо добавить следующие строки в webpack.mix.js:
mix.webpackConfig({
    devServer: {
        host: '0.0.0.0',
    }
});Laravel 9 и выше, vite
Laravel 9 перешел с использования пакета laravel mix на vite. Процесс интеграции vue есть в документации, а чтобы hot reload заработал в laradock нужно добавить в vite.config.js после блока plugins
server: {
    host: '0.0.0.0',
    hmr: {
        host: 'localhost'
    },
},В качестве хоста можно прописать APP_URL из laravel .env
