diff --git a/packages/cli/src/lib/live-server/index.js b/packages/cli/src/lib/live-server/index.js index b6ea6bb0d7..50a41f790e 100644 --- a/packages/cli/src/lib/live-server/index.js +++ b/packages/cli/src/lib/live-server/index.js @@ -102,7 +102,7 @@ function staticServer(root) { } function error(err) { - if (err.status === 404) return next(); + // CHANGED: Removed if condition that checks for 404 next(err); } @@ -262,7 +262,20 @@ LiveServer.start = function(options) { }); app.use(staticServerHandler) // Custom static server .use(entryPoint(staticServerHandler, file)) - .use(serveIndex(root, { icons: true })); + .use(serveIndex(root, { icons: true })) + // CHANGED: Added error handler to serve 404.html page + .use((err, req, res, next) => { + if (err.status === 404) { + res.statusCode = 404; + res.setHeader("Content-Type", "text/html"); + const notFoundPage = path.join(root, "404.html"); + fs.createReadStream(notFoundPage).pipe(res) + } else { + console.error(err.stack); + res.statusCode = err.status || 500; + res.end("Internal Server Error"); + } + }); var server, protocol; if (https !== null) {