Javascript 我正在使用nodejs和express构建一个非常简单的服务器,但每次我更改代码时,都会出现错误,即端口已经在使用中
每次我对代码进行一些更改,然后运行它时,就会出现此错误。我更改了许多端口,但不知道其背后的原因。另外,请解释process.env.PORT的含义及其意义,提前感谢 index.js 出现错误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
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不会终止服务器?它不会优雅地终止服务器,因此在终止进程后,端口将保持使用状态一段时间。看到和