`npm run dev`是一个长期运行的程序

423 阅读1分钟

我被问到了这个问题。

每次我运行npm run dev ,都会得到一个不同的本地主机端口。首先是3000。然后我再次运行它,得到的是3001端口。然后我又跑了一次,得到了3002端口。我们怎样才能强迫它使用3000端口?

当在本地处理一个网站时,你使用命令npm run dev 来启动开发服务器。

这是网络开发中常见的做法,所有的工具似乎都趋向于这个程序,例如AstroNext.js以及其他许多工具。

每次你运行这个命令,它都是一个长期运行的过程。它不会自动结束

例如,你运行Astro开发服务器,它开始监听端口3000

然后你打开另一个 终端,再次运行npm run dev ,这次你得到的服务器运行在端口3001

所以现在你有相同的应用程序运行在

http://localhost:3000http://localhost:3001

你需要终止这两个进程,在终端中用键盘输入ctrl-c ,这样就不会有进程让3000 端口忙起来,当你试图打开http://localhost:3000,浏览器中就不会出现任何东西。

然后你可以再次运行npm run dev ,它将自动在端口3000 上启动,因为那是免费的。

任何时候你在你的项目中做了改变(例如因为你要npm install 一些包),你就要用ctrl-c 终止开发服务器,然后你再启动它。