localhost:3000 停止节点进程后仍然可以访问

localhost:3000 still accessible after stopping node process

我使用“create-react-app”在 http://localhost:3000 上创建了一个网络服务器。它是可访问的。但是,我发现在我终止节点进程后,Web 服务器仍然可以工作,除非我重新加载页面。为什么会这样?

终止进程后服务器停止。 create-react-app 个应用程序是 client-side 个应用程序。这意味着当页面加载时,浏览器从服务器下载所有应用程序代码(javascript 代码),因此浏览器和服务器之间的通信仅在一开始发生。这样即使您停止服务器,该程序代码仍将继续工作。

如果您在 Web 应用程序中有任何内部状态(例如计数器应用程序),即使在服务器停止后它也会继续工作。

正如我所说,那是因为浏览器在第一次获取网页时已经下载了所有的程序代码。

这是简单程序的预期行为。但是,更高级的场景(例如动态下载代码,使用 React Suspense)可能会在您停止服务器后停止工作。

More about client side rendering vs server side rendering