我正在服务一个来自node的Webpack bundle,并试图使用' Webpack -hot-middleware'进行热重新加载。
Webpack bundle使用一个'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入口文档和看了一些实现的例子后才能弄清楚。