Почему изменение приложения приводит к ошибке - EADDRINUSE ::: 5000 - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть простое приложение стека mern

Я использовал create-react-app для создания приложения recat.

Я могу запустить сервер и подключиться к БД

Всякий раз, когдаЯ делаю любые изменения, приложение перезагружается, но я всегда получаю сообщение об ошибке

Error: listen EADDRINUSE :::5000

Приложение продолжает работать, и я могу убить его, выполнив

lsof -i :5000

amd, а затем завершить работу запущенной версии.

Почему это происходит при каждом изменении и как я могу это исправить.

server.js

const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const items = require('./routes/api/items');

const app = express();

app.use(bodyParser.json());

const db = require('./config/keys').mongoURI;

mongoose
  .connect(db ,{ useNewUrlParser: true })
  .then(() => console.log('db connected'))
  .catch(err => console.log(err));

app.use('/api/items', items);  

const port = process.env.PORT || 5000;

app.listen(port, () => console.log('server connected'));

api / items

const express = require('express');
const router = express.Router();

const Item = require('../../models/Item');

router.get('/', (req, res) => {
    Item.find()
        .then(items => res.json(items))
        .catch(err => console.log(err))
});

router.post('/', (req, res) => {
    const newItem = new Item({
        name: req.body.name
    })

    newItem.save().then(item => res.json(item))
})

router.delete('/:id', (req, res) =>{
    Item.findById(req.params.id)
        .then(item => item.remove().then(() => res.json({success:true})))
        .catch(err => err.status(404).json({success:false}))
})

module.exports = router;    

модели / предмет const mongoose = require ('мангуст');const схема = мангуста. Схема;

const ItemSchema = new Schema({
  name:{
    type: 'String',
    required: true 
  },
  Date:{
    type: Date,
    default: Date.now
  }
})

module.exports = Item = mongoose.model('item', ItemSchema); 
...