webpack/hot/dev-server.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

if(module.hot) {
2014-08-25 15:50:26 +08:00
var lastData;
function check() {
module.hot.check(function(err, updatedModules) {
if(err) {
2014-08-25 15:50:26 +08:00
if(module.hot.status() in {abort:1,fail:1}) {
console.warn("[HMR] Cannot apply update. Need to do a full reload!");
window.location.reload();
2014-08-25 15:50:26 +08:00
} else {
console.warn("[HMR] Update failed: " + err);
}
return;
}
if(!updatedModules)
2014-08-25 15:50:26 +08:00
return console.log("[HMR] No Update found.");
2014-08-25 15:50:26 +08:00
var upToDate = lastData.indexOf(__webpack_hash__) >= 0;
if(!upToDate) {
check();
}
2014-08-25 15:50:26 +08:00
if(!updatedModules || updatedModules.length === 0) {
console.log("[HMR] Update is empty.");
} else {
console.log("[HMR] Updated modules:");
updatedModules.forEach(function(moduleId) {
console.log("[HMR] - " + moduleId);
});
}
if(upToDate) {
console.log("[HMR] App is up to date.");
}
});
}
window.onmessage = function(event) {
2014-08-25 19:38:33 +08:00
if(typeof event.data === "string" && event.data.indexOf("webpackHotUpdate") === 0) {
2014-08-25 15:50:26 +08:00
lastData = event.data;
2014-08-25 19:38:33 +08:00
if(module.hot.status() === "idle") {
console.log("[HMR] Checking for updates on the server...");
check();
}
}
};
}