我有一个简单的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);