[英]NodeJS: localhost keeps loading for new project but is working fine for old project
对于我之前的项目,我使用的是 localhost:3000 并使用 nodemon 启动它,并且每次都运行良好。 但是当我尝试在同一端口上运行另一个项目时关闭服务器后,它一直在加载并且不起作用。 没有错误消息,该选项卡仅显示加载图标但不加载任何内容。
我也尝试过更改端口,但它不起作用。 我检查了以前的项目是否停止监听端口
netstat -ano | findstr :3000
它是空的(没有听)
运行新项目后显示
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 40684
TCP [::]:3000 [::]:0 LISTENING 40684
TCP [::1]:3000 [::1]:50967 ESTABLISHED 40684
TCP [::1]:50966 [::1]:3000 TIME_WAIT 0
TCP [::1]:50967 [::1]:3000 ESTABLISHED 36008
对于旧项目,它是
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 28864
TCP [::]:3000 [::]:0 LISTENING 28864
TCP [::1]:3000 [::1]:51039 TIME_WAIT 0
TCP [::1]:3000 [::1]:51040 TIME_WAIT 0
TCP [::1]:3000 [::1]:51041 TIME_WAIT 0
原来这不是节点问题,因为我从 18.9 降级到 LTS 16.17,问题仍然存在。 问题出在本地主机上。 当我对本地主机执行 ping 操作时,本地主机出现故障
ping 127.0.0
Pinging 127.0.0.0 with 32 bytes of data:
General failure.
General failure.
General failure.
General failure.
Ping statistics for 127.0.0.0:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
我尝试解决此问题的解决方案:
netsh int ip reset c:\tcp.txt
Resetting Compartment Forwarding, OK!
Resetting Compartment, OK!
Resetting Control Protocol, OK!
Resetting Echo Sequence Request, OK!
Resetting Global, OK!
Resetting Interface, OK!
Resetting Anycast Address, OK!
Resetting Multicast Address, OK!
Resetting Unicast Address, OK!
Resetting Neighbor, OK!
Resetting Path, OK!
Resetting Potential, OK!
Resetting Prefix Policy, OK!
Resetting Proxy Neighbor, OK!
Resetting Route, OK!
Resetting Site Prefix, OK!
Resetting Subinterface, OK!
Resetting Wakeup Pattern, OK!
Resetting Resolve Neighbor, OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , failed.
Access is denied.
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Restart the computer to complete this action.
它只是失败并且访问被拒绝。 为了解决这个问题,我打开了注册表并去了
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a00-9b1a-11d4-9123-0050047759bc}
并向名为“26”的子文件夹中的每个人授予完全控制权限。
尝试再次将 TCP/IP 堆栈重置为默认值
netsh int ip reset c:\tcp.txt
Resetting Compartment Forwarding, OK!
Resetting Compartment, OK!
Resetting Control Protocol, OK!
Resetting Echo Sequence Request, OK!
Resetting Global, OK!
Resetting Interface, OK!
Resetting Anycast Address, OK!
Resetting Multicast Address, OK!
Resetting Unicast Address, OK!
Resetting Neighbor, OK!
Resetting Path, OK!
Resetting Potential, OK!
Resetting Prefix Policy, OK!
Resetting Proxy Neighbor, OK!
Resetting Route, OK!
Resetting Site Prefix, OK!
Resetting Subinterface, OK!
Resetting Wakeup Pattern, OK!
Resetting Resolve Neighbor, OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Resetting , OK!
Restart the computer to complete this action.
这也没有解决问题。
ipconfig /release
ipconfig /renew
ipconfig /flushdns
但是 powershell 无法将其识别为外部或内部命令,因此我检查了环境变量路径中的 system32,它就在那里,所以我检查了系统目录中的 IPConfig.exe,它就在那里。 使用 cmd 运行这些命令会给出媒体断开连接的错误消息,我试图通过重置 WINSOCK、检查网络适配器是否已启用、禁用网络共享来解决,但均无效。
这是我的新项目的 package.json
{
"type": "module",
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.18.1"
}
}
这是我的新项目的 app.js
import express, { application } from "express";
application.get("", (req, res) => {
res.send("Test");
});
application.listen(3000, () => {
console.log("Server is up on port 3000");
});
在您的第 4 号解决方案中,您写道:
配置/发布
ipconfig/更新
ipconfig /flushdns
“但是 powershell 无法将其识别为外部或内部命令”
我遇到“Wi-Fi 没有有效的 IP 配置”问题,并尝试了上面的三个 ipconfig 命令。
嗯,我发现必须有一个空格字符分隔 ipconfig 命令和 '/' 参数的困难方法。 应该:
配置/发布
ipconfig /更新
ipconfig /flushdns
我希望这有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.