Узел, Реагируй, одновременно с EADDRINUSE ::: Ошибка 8000 - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь использовать пакет NPM concurrently с сервером Node / Express на бэкэнде и сервером create-react-app на внешнем интерфейсе.Вот скрипт package.json:

"scripts": {
"start": "node index.js",
"server": "nodemon index.js",
"client": "yarn start --prefix client",
"dev": "concurrently \"yarn server\" \"yarn client\""
},

Когда я выполняю yarn dev, я получаю следующую ошибку:

$ concurrently "yarn server" "yarn client"
$ nodemon index.js
$ yarn start --prefix client
[0] [nodemon] 1.17.5
[0] [nodemon] to restart at any time, enter `rs`
[0] [nodemon] watching: *.*
[0] [nodemon] starting `node index.js`
$ node index.js --prefix client
[1] events.js:183
[1]       throw er; // Unhandled 'error' event
[1]       ^
[1]
[1] Error: listen EADDRINUSE :::8000
[1]     at Object._errnoException (util.js:1022:11)
[1]     at _exceptionWithHostPort (util.js:1044:20)
[1]     at Server.setupListenHandle [as _listen2] (net.js:1367:14)
[1]     at listenInCluster (net.js:1408:12)
[1]     at Server.listen (net.js:1492:7)
[1]     at Function.listen
...
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about 
this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about 
this command.

Когда я использую lsof -i tcp:8000, он ничего не возвращает.Я не знаю, что еще делать.Любая помощь приветствуется.

Вот код сервера:

const express = require('express');
const mongoose = require('mongoose');
const keys = require('./config/keys');
const cookieSession = require('cookie-session');
const passport = require('passport');
require('./models/User');
require('./services/passport');

mongoose.connect(keys.mongoURI);

const app = express();

// enable cookies
app.use(
  cookieSession({
    // cookie good for 30 days
    maxAge: 30 * 24 * 60 * 60 * 1000,
    // authenticate cookie
    keys: [keys.cookieKey]
  })
);
// tell passport to use cookies
app.use(passport.initialize());
app.use(passport.session());

// get the routes
require('./routes/authRoutes')(app);

const PORT = process.env.PORT || 5000;
app.listen(PORT);

Независимо от того, на что я изменяю PORT, он выдает ту же ошибку для этого порта.

1 Ответ

0 голосов
/ 11 июня 2018

Хорошо, вы выполняете два раза index.js, которые запускают прослушивание сервера на порту 8000, что, конечно, вызовет Error: listen EADDRINUSE :::8000

 concurrently "yarn server" "yarn client"
  • yarn server запусков nodemon index.js
  • yarn client выполняется yarn start, который выполняет node index.js
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...