繁体   English   中英

NodeJS:本地主机不断加载新项目,但对旧项目工作正常

[英]NodeJS: localhost keeps loading for new project but is working fine for old project

对于我之前的项目,我使用的是 localhost:3000 并使用 nodemon 启动它,并且每次都运行良好。 但是当我尝试在同一端口上运行另一个项目时关闭服务器后,它一直在加载并且不起作用。 没有错误消息,该选项卡仅显示加载图标但不加载任何内容。

加载本地主机:3000

我也尝试过更改端口,但它不起作用。 我检查了以前的项目是否停止监听端口

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),

我尝试解决此问题的解决方案:

  1. 禁用防火墙
  2. 更新系统驱动程序(intel 和 lenovo)
  3. 试图重置 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 , 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.

这也没有解决问题。

  1. 尝试运行
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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM