From 225c6ee14aeddc302ff2e80e8d469a42d8aeceec Mon Sep 17 00:00:00 2001 From: AgentHagu Date: Mon, 2 Jun 2025 14:56:40 +0800 Subject: [PATCH] Add handler for error 404 to live-server --- packages/cli/src/lib/live-server/index.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/live-server/index.js b/packages/cli/src/lib/live-server/index.js index c7590dd87f..e09954ffb5 100644 --- a/packages/cli/src/lib/live-server/index.js +++ b/packages/cli/src/lib/live-server/index.js @@ -100,7 +100,7 @@ function staticServer(root) { } function error(err) { - if (err.status === 404) return next(); + // CHANGED: Removed if condition that checks for 404 next(err); } @@ -259,7 +259,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) {