编辑:我尝试了几个不同的端口,杀死了端口上的任务,然后再试一次,它不起作用。
今天,我开始了关于MERN堆栈的教程,但是我无法连接到服务器。 使用npm run server时出现以下错误: Error Message
我安装了推荐的node版本,使用npm i来安装express,mongoose,body-parser,并发和nodemon。 我遵循了教程的每个步骤,但无法正常工作。
这些是我的文件:
server.js
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();
// Bodyparser Middleware
app.use(bodyParser.json());
// DB Config
const db = require('./config/keys').mongoURI;
// Connect to Mongo
mongoose
.connect(db, {useNewUrlParser: true}) // Adding new mongo url parser
.then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err));
const port = process.env.PORT || 5000;
app.listen(port, () => console.log(`Server started on port ${port}`));
package.json
{
"name": "mern_shopping_list",
"version": "1.0.0",
"description": "Shopping list built with the MERN stack",
"main": "server.js",
"scripts": {
"start": "node server.js",
"server": "nodemon server.js"
},
"author": "Mario Hess",
"license": "ISC",
"dependencies": {
"body-parser": "^1.18.3",
"concurrently": "^4.0.1",
"express": "^4.16.3",
"mongoose": "^5.2.17"
},
"devDependencies": {
"nodemon": "^1.18.4"
}
}
keys.js(是的,我编辑了“我的名字”和“密码”!)
module.exports = {
mongoURI:'mongodb://<MYNAME>:<MYPASSWORD>@ds115193.mlab.com:15193/servasdu'
}
答案 0 :(得分:0)
错误说,另一个任务当前正在使用端口5000。然后,解决方案是将端口更改为其他端口。例如:
const port = process.env.PORT || 5050;
这是另一种选择。如果您使用的是Windows操作系统,请尝试以下操作:
在您的命令行中:
netstat -aon | findstr :5000
您将获得以下内容:
然后:
taskkill /pid xxxxx /f
xxxxx
需要在右侧替换为process IDs
。在大多数情况下,排名靠前的pid
是我们所需要的。
这样做,您将终止当前占用端口5000的任务。
答案 1 :(得分:0)