首页 > 解决方案 > 除非服务器在本地机器上运行,否则应用程序无法连接到 Heroku 上的 mongodb

问题描述

问题是当我也在运行连接到我的本地机器上的服务器(npm run server.js)时,应用程序只连接到heroku上的mongodb

服务器.js

const uri = process.env.MONGODB_URI
console.log(uri);
mongoose.connect(uri,
    {
        useNewUrlParser: true,
        useUnifiedTopology: true
    }, (err) => {
        if (err) {
            console.log(err)
            console.log('Unable to connect to database');
            process.exit(1);
        }
        else
            console.log('Successfully connected to the database')
    });


const port = process.env.PORT || 5000;
app.listen(port, () => {
    console.log(`App is running`);
});

如果上面的代码没有在我的本地机器上运行,应用程序将不会连接到 heruko 上的数据库。

process.env.MONGODB_URI位于 .env 文件中,我还获得了 heroku 上具有相同值和键的配置变量。

    "start": "node server.js",
    "client": "cd client && npm start",
    "server": "nodemon server --ignore client /",
    "dev": "concurrently \" npm run client\" \"npm run server\" ",
    "heroku-postbuild": "cd client && npm install && npm run build"

这些是我的 package.json 中的脚本

标签: node.jsreactjsherokumern

解决方案


推荐阅读