问题在于,当即时消息还运行并连接到本地计算机上的服务器(npm运行server.js)时,应用程序仅连接到heroku上的mongodb
server.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中的脚本