ExpressJS:本地主机未发送任何数据

时间:2020-05-30 06:06:45

标签: node.js express

我正在编写一个应用程序,当我启动服务器时,它运行良好,并连接到数据库。但是,当我从浏览器启动http://localhost:5000时,它没有响应,则浏览器显示了一条消息:

localhost didn’t send any data.
ERR_EMPTY_RESPONSE

这是我的 app.js:

const express = require('express');
const app = express();
const cookieParser = require('cookie-parser');
const mongoose = require('mongoose');
app.use(cookieParser);
app.use(express.json());



//const userRouter = require('./routes/user');
//app.use('/user', userRouter);

const startApp = async () => {
    try {
        await mongoose.connect('mongodb+srv://username:pass@cluster0-dcytp.mongodb.net/test?retryWrites=true&w=majority',
        { useUnifiedTopology: true,useNewUrlParser: true });
        console.log(`successfully connected to database`);
        const port = process.env.PORT || 5000
        app.listen(port, () => {
            console.log(`server runnin at ${port}`);
        });
    } catch (error) {
        console.log(error.message)
    }
}

startApp();

app.get('/', (req, res) => {
    console.log("I am in the root");
    res.send("hello World");
})

为什么服务器没有响应浏览器?

2 个答案:

答案 0 :(得分:2)

尝试

app.use(cookieParser())

代替

app.use(cookieParser)

Reference

答案 1 :(得分:1)

我有同样的问题,数据库已连接,但无法发送数据。看起来很奇怪,但对我有用。

添加具有新密码的新数据库用户,使用新的用户名和密码连接您的mongoodb this is the exact like to add new database user

这是我的数据库连接,可能也对您有帮助

mongoose.connect(DATABASE_URL, { useNewUrlParser: true,useUnifiedTopology: true  })
const db = mongoose.connection
db.on('error', (error) => console.error(error))
db.once('open', () => console.log('connected to database'))

app.use(express.json())