javascript - webpackDevMiddleware 不会自动重新加载

标签 javascript express webpack html-webpack-plugin webpack-dev-middleware

所以我使用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)

但是,出于某种原因,我无法实时重新加载。我也没有获得覆盖功能。我使用此设置是因为我使用的是 webpackhtml 插件。

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

最佳答案

对于实时重新加载,您还需要添加 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()
]

有关详细信息,请参阅 Installation & Usage .

关于javascript - webpackDevMiddleware 不会自动重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42815380/

相关文章:

javascript - 选择 Angular 4 时默认选项为空

javascript - 如何动态更改 webpack 中的导入路径?

javascript - 编写 jQuery 插件,在哪里设置 $.extend 以便可以在其他功能上访问

javascript - Ionic/AngularJS ng-click 事件没有触发?

javascript - 下面是提取一些十六进制数据、解释它并将其打印到 console.log 的代码。它在 'req' 循环中工作,但在外部不工作。为什么?

javascript - Expressjs 中的全局对象

javascript - NodeJS 分配变量不起作用

javascript - 使用 Expressjs 将 JSON 数据发送到服务器

javascript - webpack css 加载器 svg 和 png

javascript - Webpack 2 - 具有相同内容的多个输出文件