WebPackDevmiddleware不自动重新加载



,所以我使用的是WebPack Dev中间件,如下:

const compiledWebpack = webpack(config),
          app             = express(),
          devMiddleware   = webpackDevMiddleware(compiledWebpack, {
            historyApiFallback: true,
            publicPath: config.output.publicPath,
            overlay: {
              warnings: true,
              errors: true
            },
            compress: true,
            stats: { colors: true }
          })

    app.use(devMiddleware)


    app.get('*', (req, res) => {
      // Here is it! Get the index.html from the fileSystem
      const htmlBuffer = devMiddleware.fileSystem.readFileSync(`${config.output.path}/index.html`)
      res.send(htmlBuffer.toString())
    })
    app.listen(PORT, function () {})
    console.log('Running on port ' + PORT)

但是,由于某种原因,我没有实时重装。我也没有获得覆盖功能。我正在使用此设置,因为我正在使用webpackhtmlplugin。

我觉得我在这里缺少一个简单的概念:(有什么想法?

用于实时重新加载,您还需要添加webpack-hot-middleware。

在您的服务器中,您必须添加:

const webpackHotMiddleware = require('webpack-hot-middleware');
const hotMiddleware = webpackHotMiddleware(compiledWebpack);
app.use(hotMiddleware);

,您还需要在您的条目中添加'webpack-hot-middleware/client',将webpack.HotModuleReplacementPlugin添加到WebPack配置中的插件:

entry: [
  'webpack-hot-middleware/client',
  './src/index.js' // Your entry point
],
plugins: [
  new webpack.HotModuleReplacementPlugin()
]

有关更多信息,请参见安装&用法。

相关内容

  • 没有找到相关文章

最新更新