我是React的新手。我正在研究一个示例React程序。但是我注意到一个奇怪的行为。 2天前,我运行了一个示例React程序,现在又运行了一个不同的示例React程序。但是我注意到的是,本地主机仍在显示旧的React应用程序,而不是显示最新的应用程序。另外,当我今天运行第二个应用程序时,我收到一条消息,指示“端口3000上已经在运行某些东西。” 。可能是什么原因?为什么显示旧的而不是新的应用?
答案 0 :(得分:1)
发生这种情况是因为您从未杀死过您的旧应用程序,因此该应用程序仍在端口3000上运行。您收到的消息告诉您,您的第二个应用程序无法获取对端口3000的访问权限。因此,此后,当您打开浏览器时直到端口3000为止,它仍然是旧的应用程序,因为那是使该端口保持打开状态的原因。
一旦您手动杀死了旧的应用程序,它将释放端口3000,该端口可用于第二个应用程序。
答案 1 :(得分:1)
当您使用npm start
运行react应用时,它会设置一台占用计算机端口(或URL)的服务器。
当您尝试运行另一个react应用程序时,它将尝试使用默认端口(3000),但是如果有其他应用程序在运行,它将无法占用该端口。如果您要在端口3000上运行一个应用程序并想运行另一个应用程序,则必须指定另一个端口。
如果您使用create-react-app
,它将提示您是否已使用端口3000,并为您提供在另一个端口(3001)上运行的选项
答案 2 :(得分:0)
无论如何,我通过命令提示符手动杀死了在端口3000上运行的进程,之后该进程反映了最新的应用程序。