webpack-hot-middleware не предлагает bundlejs - PullRequest
0 голосов
/ 09 мая 2020

обновление

Я обнаружил, что только изменение сценария может заставить его снова запускаться, но если я не использую webpack-dev-middleware, я не могу получить bundle.js.

Я также попытался добавить параметр path: path.join(__dirname, "assets") в webpack-hot-middleware, но он все равно не работает.


Я использую webpack-hot-middleware, но браузер возвращает 404 для пакета. js. Он отлично работает, если я просто поместил bundle. js в каталог ресурсов, изменив такие изменения: path: path.resolve(__dirname, 'assets'), <script src="/bundle.js">)</script>.

Теперь я очень уверен, что webpack-dev-middleware работает нормально, поэтому я думаю, что есть что-то не так с моей конфигурацией webpack-hot-middleware или другими. Вот мой код.

server.js
webpack.config.js
assets
    js
        //bundle.js
    //server.js
    const webpack = require('webpack');
    const webpackDevMiddleware = require('webpack-dev-middleware');
    const webpackHotMiddleware = require('webpack-hot-middleware');
    let webpackConfig;
    if (npm_config_argv.original.indexOf("debug") > -1) {
        webpackConfig = require('./webpack.dev.config.js');
    } else {
        webpackConfig = require('./webpack.config.js');
    }
    let compiler = webpack(webpackConfig);
    app.use(webpackDevMiddleware(compiler, {
        publicPath: webpackConfig.output.publicPath
    }));

    app.use(webpackHotMiddleware(compiler, {
        publicPath: webpackConfig.output.publicPath
    }));
    // webpack.config.js 
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'assets', 'js'),
        publicPath: "/"
    }

    // script in index.html
    <script src="/js/bundle.js"></script>

Если вам нужна дополнительная информация, я постараюсь прояснить ее. Любая помощь будет принята с благодарностью.

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