Изменения в Webpack bundle.js не отображаются в приложении Spring без перезагрузки сервера? - PullRequest
0 голосов
/ 11 апреля 2019

Я следовал этому руководству по созданию приложения Spring-boot + ReactJs: https://spring.io/guides/tutorials/react-and-spring-data-rest/

Приложение нормально запускается с ./mvnw spring-boot: run, и у меня есть сценарий NPM "watch": "webpack --watch -d", который запускает следующую конфигурацию

var path = require('path');

module.exports = {
    entry: './src/main/js/app.js',
    devtool: 'sourcemaps',
    cache: true,
    mode: 'development',
    output: {
        path: __dirname,
        filename: './src/main/resources/static/built/bundle.js'
    },
    module: {
        rules: [
            {
                test: path.join(__dirname, '.'),
                exclude: /(node_modules)/,
                use: [{
                    loader: 'babel-loader',
                    options: {
                        presets: ["@babel/preset-env", "@babel/preset-react"]
                    }
                }]
            }
        ]
    }
};

app.js компилируется в bundle.js, как и ожидалось, но если я не перезагружаю сервер с ./mvnw spring-boot:run при обновлении страницы, я не вижу изменений.

Возможно, я что-то упустил, может быть, Spring-Boot не использует мой bundle.js файл, а какую-то копию?

1 Ответ

0 голосов
/ 11 апреля 2019

Я могу предположить, что встроенный Tomcat не выполняет перезагрузку статических файлов в горячем режиме. Вы можете попробовать некоторые из этих Обновление статического содержимого с помощью Spring MVC и Boot

Но также поделюсь моим решением, которое использует webpack-dev-server для горячей перезагрузки и веб-разработки в целом.

const path = require('path');
...
devServer: {
    contentBase: path.join(__dirname, 'src'),
    publicPath: '/build',
    port: 8000,
    proxy: {
        "**": "http://localhost:8080"
    }
},

и затем запустите команду webpack-dev-server, чтобы запустить его. Он компилирует ваше приложение на лету, и ваши изменения немедленно отражаются, обязательно попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...