具有单一入口点的 webpack-hot-middleware 设置

问题描述

我正在从节点提供 Webpack 包,并尝试使用“webpack-hot-middleware”进行热重载。

Webpack 包使用“var” libraryTarget 并公开一个导出所有模块的文件

Webpack 配置示例:

const config = {
    entry: './lib/src/index.js',output: {
      path: path.resolve(__dirname,'dist'),publicPath: '/',library: "myLib",libraryTarget: 'var',},...

webpack-hot-middleware 文档设置说明说:

2) Add 'webpack-hot-middleware/client' into the entry array. This connects to the server to receive notifications when the bundle rebuilds and then updates your client bundle accordingly.

问题是 - 由于我没有入口数组,我如何/如何使用我当前的单个入口点配置进行设置?

我尝试过的:

将“entry”值从字符串转换为数组,如下所示:

entry: ['./lib/src/index.js','webpack-hot-middleware/client']

然而,从 index.js 公开的全局变量在那时变得未定义。

感谢您的任何建议。

解决方法

您与: entry: ['./lib/src/index.js','webpack-hot-middleware/client']

您需要将其更改为:

entry: {
    main: ['./lib/src/index.js','webpack-hot-middleware/client']
}

entry 的值必须是字符串或对象。 the webpack-hot-middleware/client 当他们说“将 'webpack-hot-middleware/client' 添加到条目数组中时,对此有点困惑。”。我遇到了与您相同的问题,只有在查看了 webpack entry documentation 并查看了一些实施示例后才能弄清楚。