为什么更改应用会出现错误-EADDRINUSE ::: 5000

时间:2019-02-27 06:43:45

标签: reactjs mern

我有一个简单的mern stack应用

我用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 /项

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('mongoose');     const Schema = mongoose.Schema;

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

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

0 个答案:

没有答案