Webpack Web开发中间件自动重新加载

Webpack Web开发中间件自动重新加载,webpack,Webpack,我正试图通过Webpackdev中间件自动重新加载(无需热加载)一些JavaScript my Express服务器的当前代码: app.use(webpackDevMiddleware(编译器、{ 是的, 没错, publicPath:config.output.publicPath, 统计信息:{colors:true} })); 一切似乎都运行良好,但当我更改某些内容时,我的浏览器不会自动重新加载(尽管网页包会重建…) 我是否需要添加额外的条目以使用webpack dev中间件自动重新加

我正试图通过Webpackdev中间件自动重新加载(无需热加载)一些JavaScript

my Express服务器的当前代码:

app.use(webpackDevMiddleware(编译器、{
是的,
没错,
publicPath:config.output.publicPath,
统计信息:{colors:true}
}));
一切似乎都运行良好,但当我更改某些内容时,我的浏览器不会自动重新加载(尽管网页包会重建…)


我是否需要添加额外的条目以使用webpack dev中间件自动重新加载浏览器?

似乎webpack dev中间件不支持自动重新加载。相反,方法是在另一个端口上启动express服务器,然后启动一个指向express服务器的webpack dev服务器(或用于更精细的控制)。(见附件。)

另一种方法是采用另一种方法,并对其内部express服务器进行升级和修改:

var server=newwebpackdevserver(webpack(webpackConfig),WebpackDevServer配置);
server.app.use(函数(req、res、next){
//server.app是一个快速服务器
});
监听(8080,“本地主机”,函数(err){
});

@cdauth在他的第二个示例中几乎做到了这一点,但这不是修改内部服务器的正确方法。正确的方法是将
设置
函数放在您的webpack dev server config中:

const devServer=new WebpackDevServer(webpack(webpackConfig){
//您的配置在这里
设置(应用程序){
//在此处修改express应用程序,例如。
get('/rest/my path',myModule.myFunction);
应用程序使用(…);
},
//或者,您可以将配置放在另一个模块中:
setup:someModule.configureApp,//接受Express应用程序的函数
});
这比同时运行服务器和webpack dev服务器要容易得多。您可以使用plain Express保留原始配置,并将其用作测试和生产的入口点,但将上述代码放在一个新文件中(比如
devServer.js
)并将其用于开发