Настройка Webpack для работы в приложении Laravel

Я хотел бы использовать webpack-dev-server для моего основного приложения Laravel. От официальные документы Webpack я узнал следующее:

вы можете запустить серверный сервер или макет его в разработке. Вы не должны использовать webpack-dev-server в качестве бэкэнда. Его только целью является, чтобы служить статический (webpacked) активов.

вы можете запустить два сервера бок о бок: webpack-dev-server и ваш базовая программа сервер.

в нижней части страницы они дают пример о том, как это сделать. Я последовал за ним и застрял с двумя сообщениями об ошибках. Это моя попытка интегрировать Webpack в приложение Laravel.

webpack.конфиг.js

var path = require("path");

module.exports = {
    context: path.resolve('resources'),
    entry: [
        './assets/js/app.js'
    ],
    output: {
        path: path.resolve('public/assets/'),
        publicPath: 'http://localhost:8080/assets/',
        filename: "bundle.js"
    },
    devServer: {
        contentBase: 'public',
        hot: true,
        proxy: {
            "*": "http://laravel.dev/"
        }
    }
};

app.лезвие.в PHP

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Learning Laravel</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>

<body>
    <div class="container">
        @yield('content')
    </div>

    @yield('footer')
    <script src="http://localhost:8080/assets/bundle.js"/>
</body>

</html>
vagrant@learning-laravel:~/learning-laravel$ webpack-dev-server --inline

1 ответов


то, что вам не хватает, просто, вы должны прокси-сервер webpack-dev-server под серверным сервером Laravel (например, маршрут /активы).

чтобы сделать это, я позволю вам проверить http-proxy, Express middlewares и даже инструменты CLI socat / netcat.