Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我正在使用nodejs和express构建一个非常简单的服务器,但每次我更改代码时,都会出现错误,即端口已经在使用中_Javascript_Node.js_Express_Web_Backend - Fatal编程技术网

Javascript 我正在使用nodejs和express构建一个非常简单的服务器,但每次我更改代码时,都会出现错误,即端口已经在使用中

Javascript 我正在使用nodejs和express构建一个非常简单的服务器,但每次我更改代码时,都会出现错误,即端口已经在使用中,javascript,node.js,express,web,backend,Javascript,Node.js,Express,Web,Backend,每次我对代码进行一些更改,然后运行它时,就会出现此错误。我更改了许多端口,但不知道其背后的原因。另外,请解释process.env.PORT的含义及其意义,提前感谢 index.js 出现错误 node:events:342 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE: address already in use :::8005 at Server.setupListenHan

每次我对代码进行一些更改,然后运行它时,就会出现此错误。我更改了许多端口,但不知道其背后的原因。另外,请解释process.env.PORT的含义及其意义,提前感谢

index.js

出现错误

node:events:342
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE: address already in use :::8005
    at Server.setupListenHandle [as _listen2] (node:net:1306:16)
    at listenInCluster (node:net:1354:12)
    at Server.listen (node:net:1441:7)
    at Function.listen (/home/dhruv/Desktop/quiz_question/node_modules/express/lib/application.js:618:24)
    at Object.<anonymous> (/home/dhruv/Desktop/quiz_question/index.js:75:5)
    at Module._compile (node:internal/modules/cjs/loader:1109:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
    at Module.load (node:internal/modules/cjs/loader:989:32)
    at Function.Module._load (node:internal/modules/cjs/loader:829:14)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
    at node:internal/main/run_main_module:17:47
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1333:8)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '::',
  port: 8005
}
节点:事件:342
投掷者;//未处理的“错误”事件
^
错误:侦听EADDRINUSE:地址已在使用中:::8005
在Server.setupListenHandle[as _listen2](节点:net:1306:16)
在listenInCluster(节点:net:1354:12)
在Server.listen(节点:net:1441:7)
在Function.listen(/home/dhruv/Desktop/quick\u question/node\u modules/express/lib/application.js:618:24)
反对。(/home/dhruv/Desktop/quick_question/index.js:75:5)
at模块编译(节点:内部/modules/cjs/loader:1109:14)
在Object.Module._extensions..js(节点:internal/modules/cjs/loader:1138:10)
at Module.load(节点:内部/模块/cjs/加载器:989:32)
at功能模块加载(节点:内部/模块/cjs/加载程序:829:14)
在Function.executeUserEntryPoint[作为runMain](节点:内部/modules/run_main:76:12)
节点处:内部/主/运行\u主\u模块:17:47
在以下位置的服务器实例上发出了“错误”事件:
发射错误(节点:网络:1333:8)
在处理和拒绝时(节点:内部/处理/任务队列:83:21){
代码:'EADDRINUSE',
errno:-98,
syscall:'listen',
地址:':',
港口:8005
}

我已经检查了类似标题上发布的以前的问题,但没有从中获得帮助,并且应用这些更改无法解决错误,我知道错误是非常基本的,但无法解决它

您遇到此错误是因为程序本身正在运行(并且使用指定的端口)如果您试图再次运行,简单的解决方案是先停止程序,然后再次运行程序以应用更改,更好的解决方案是使用热重新加载帮助程序包,如nodemon,您可以使用:

npm install -g nodemon
像这样使用它来运行

nodemon index.js
这将在代码更改保存时停止并重新运行服务器


关于process.env.PORT,process.env通常是环境变量对象,由OS或任何其他填充环境变量的工具定义,环境变量为键:值形式端口只是定义的环境变量的键,process.env.PORT生成端口环境变量的值。

您收到此错误是因为程序本身正在运行(并使用指定的端口),并且您正在尝试再次运行它,简单的解决方案是先停止程序,然后再次运行程序以应用更改,更好的解决方案是使用热重新加载帮助程序包,如nodemon,您可以使用以下工具安装它:

npm install -g nodemon
像这样使用它来运行

nodemon index.js
这将在代码更改保存时停止并重新运行服务器


关于process.env.PORT,process.env通常是环境变量对象,由OS或任何其他填充环境变量的工具定义,环境变量在键中:值表单PORT只是定义的环境变量的键,process.env.PORT生成端口环境变量的值。

ctrl+C不会终止服务器?它不会优雅地终止服务器,因此在终止进程后,端口将保持使用状态一段时间。请参阅,并且ctrl+C不会终止服务器?它不会优雅地终止服务器,因此在终止进程后,端口将保持使用状态一段时间。看到和