Я пытался загрузить серверную часть моего приложения MERN на heroku, и пока мои маршруты express не работают вообще, хотя другие мои маршруты работают.
// index. js - первые 2 маршрута работают, но последний, использующий post, не
const express = require("express");
const postRoute = require("./routes/post_route");
const cors = require("cors");
const mongoose = require("mongoose");
const app = express();
app.get("/", function (req, res) {
res.send("hello world");
});
app.get("/test", function (req, res) {
res.send({ msg: "this is a test" });
});
app.use("/post", postRoute);
mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
});
const connection = mongoose.connection;
connection.once("open", () => {});
post-route. js
const router = require("express").Router();
let Post = require("../models/post");
router.route("/getPosts").get((req, res, next) => {
Post.find({}).then(function(p) {
res.send(p);
});
});
module.exports = router;
heroku logs
2020-04-10T13:34:09.992512+00:00 heroku[router]: at=info method=GET path="/post" host=thawing-retreat-00072.herokuapp.com request_id=0a71bb79-2273-4f58-8e27-75dbda4c9dbd fwd="99.246.147.48" dyno=web.1 connect=1ms service=3ms status=404 bytes=419 protocol=https
2020-04-10T13:34:47.561331+00:00 heroku[router]: at=info method=GET path="/post" host=thawing-retreat-00072.herokuapp.com request_id=5796a7a6-c56d-441e-a8dd-21e05be493e4 fwd="99.246.147.48" dyno=web.1 connect=0ms service=2ms status=404 bytes=419 protocol=https
2020-04-10T13:34:54.990894+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/post/getPosts" host=thawing-retreat-00072.herokuapp.com request_id=9eb17ea9-f7e0-4a44-b9f9-001017a65901 fwd="99.246.147.48" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0 protocol=https
2020-04-10T13:34:59.025301+00:00 heroku[router]: at=info method=GET path="/test" host=thawing-retreat-00072.herokuapp.com request_id=280e6299-6d2f-4683-815d-7fab82507020 fwd="99.246.147.48" dyno=web.1 connect=0ms service=2ms status=200 bytes=263 protocol=https
2020-04-10T13:35:45.133193+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/post/getPosts" host=thawing-retreat-00072.herokuapp.com request_id=b981cec7-0f7f-4bfc-a068-13e020f9a4fe fwd="99.246.147.48" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https
2020-04-10T13:41:26.598411+00:00 heroku[router]: at=info method=GET path="/getPosts" host=thawing-retreat-00072.herokuapp.com request_id=416473f2-c4e2-44c7-91b7-a61e49a002e2 fwd="99.246.147.48" dyno=web.1 connect=0ms service=2ms status=404 bytes=423 protocol=https
2020-04-10T13:41:31.318390+00:00 heroku[router]: at=info method=GET path="/getPosts" host=thawing-retreat-00072.herokuapp.com request_id=f65311c9-c213-44c5-ac00-d53512683687 fwd="99.246.147.48" dyno=web.1 connect=0ms service=3ms status=404 bytes=423 protocol=https
2020-04-10T13:42:24.401120+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/post/getPosts" host=thawing-retreat-00072.herokuapp.com request_id=6bc38c15-725f-4f43-941c-c6c1afd7e933 fwd="99.246.147.48" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https
package. json file
{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"express-validator": "^6.4.0",
"mongodb": "^3.5.5",
"mongoose": "^5.9.5",
"socket.io": "^2.3.0"
},
"engines": {
"node":"12.16.0"
},
"proxy": "http://localhost:5000"
}
Приложение работает отлично локально, но не в сети.