Используемый адрес - Node.js / Express

Когда я сохраняю свои файлы с помощью nodemon, я получаю сообщение об ошибке

events.js:292
[0]       throw er; // Unhandled 'error' event
[0]       ^
[0] 
[0] Error: listen EADDRINUSE: address already in use :::9000
[0]     at Server.setupListenHandle [as _listen2] (net.js:1313:16)
[0]     at listenInCluster (net.js:1361:12)
[0]     at Server.listen (net.js:1447:7)
[0]     at Function.listen (/Users/KrithinPakshootra/Documents/Project Code/calcu-api/node_modules/express/lib/application.js:618:24)
[0]     at Object.<anonymous> (/Users/KrithinPakshootra/Documents/Project Code/calcu-api/server.js:15:5)
[0]     at Module._compile (internal/modules/cjs/loader.js:1200:30)
[0]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
[0]     at Module.load (internal/modules/cjs/loader.js:1049:32)
[0]     at Function.Module._load (internal/modules/cjs/loader.js:937:14)
[0]     at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
[0]     at internal/main/run_main_module.js:17:47
[0] Emitted 'error' event on Server instance at:
[0]     at emitErrorNT (net.js:1340:8)
[0]     at processTicksAndRejections (internal/process/task_queues.js:84:21) {
[0]   code: 'EADDRINUSE',
[0]   errno: -48,
[0]   syscall: 'listen',
[0]   address: '::',
[0]   port: 9000
[0] }
[0] [nodemon] app crashed - waiting for file changes before starting...

Обычно я закрываю свои запросы Postman к api, но теперь они остаются. Я посмотрел, что работает на порту 9000 с sudo lsof -i :9000, но показывает только мой бэкэнд. Я использую одновременно и экспресс.

Хотя иногда, если я коплю несколько раз, то все возвращается в норму.

Мой код server.js:

const express = require('express');
const cors = require('cors');

const connectDB = require('./config/db');

const app = express();
connectDB();
app.use(express.json({ extended: false }));
app.use('/api/history', cors(), require('./routes/api/history'));
app.use('/api/signup', cors(), require('./routes/api/signup'));
app.use('/api/auth', cors(), require('./routes/api/auth'));
app.use('/api/login', cors(), require('./routes/api/login'));
app.use('/api/points', cors(), require('./routes/api/points'));
app.use('/api/history', cors(), require('./routes/api/history'));
app.listen(9000);

Отвечает ли это на ваш вопрос? Узел / Экспресс: EADDRINUSE, адрес уже используется - убить сервер

dhruv479 30.03.2021 15:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
29
1

Ответы 1

Вы можете решить эту проблему, добавив --delay 500ms там, где вы вызываете nodemon yourEntryPointFile.js, чтобы ваша команда в package.json выглядела как nodemon --delay 500ms yourEntryPointFile.js.

Плюс добавьте это тоже в файл сервера, чтобы контролировать завершение работы вашего скрипта:

process.once('SIGUSR2', function () {
  process.kill(process.pid, 'SIGUSR2');
});

эта ошибка все еще сохраняется.

JS-Skipper 01.04.2021 06:07

Другие вопросы по теме