到目前为止,我看过的所有webpack示例都涉及客户端热模块替换,例如:这个和这个。
根据webpack文档,可以使用webpack-dev-server或中间件(webpack-dev-webpack-dev-middleware和webpack-hot-middleware,以及在配置输入中集成的
根据webpack文档,可以使用webpack-dev-server或中间件(webpack-dev-webpack-dev-middleware和webpack-hot-middleware,以及在配置输入中集成的
webpack-hot-middleware/client
,例如express js)来启用客户端代码的热模块替换,但是能否启用服务器端代码的热模块替换呢?文档确实展示了一个示例。var requestHandler = require("./handler.js");
var server = require("http").createServer();
server.on("request", requestHandler);
server.listen(8080);
// check if HMR is enabled
if(module.hot) {
// accept update of dependency
module.hot.accept("./handler.js", function() {
// replace request handler of server
server.removeListener("request", requestHandler);
requestHandler = require("./handler.js");
server.on("request", requestHandler);
});
}
这份文档的解释很简要。
那么问题来了,如果在服务器端代码中实现热模块替换而不重启服务器该怎么做?(目前我使用nodemon监视服务器端代码,以便在文件更改时重新启动服务器)