MERN应用后端部署失败求助:本地正常,Vercel/Railway部署失败
MERN后端部署至Vercel/Railway失败求助
首次尝试部署MERN应用的后端,多次部署到Vercel和Railway均失败,推测是代码问题导致。本地环境下所有功能正常,能正常连接MongoDB。
后端目录结构:
以下是可能引发问题的文件:
index.js
const express = require("express"); const mongoose = require("mongoose"); const cors = require("cors"); const campgroundRoutes = require("./routes/campgrounds"); const userRoutes = require("./routes/users"); // express app const app = express(); const PORT = process.env.PORT || 3000; //middleware app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use( cors({ origin: "*", // Replace with the actual origin of your frontend credentials: true, }) ); const dbUrl = process.env.DB_URL; // connect to db mongoose.connect(dbUrl); const db = mongoose.connection; db.on("error", console.error.bind(console, "connection error:")); db.once("open", () => { console.log("Connected to MongoDB"); }); //routes app.use("/campgrounds", campgroundRoutes); app.use("/api/users", userRoutes); app.listen(PORT, () => { console.log(`Serving at http://localhost:${PORT}`); });
routes/users.js
const express = require("express"); const router = express.Router(); const { registerUser, loginUser } = require("../controllers/users"); // register route router.post("/register", registerUser); // login route router.post("/login", loginUser); module.exports = router;
routes/campgrounds.js
const express = require("express"); const router = express.Router(); const campgrounds = require("../controllers/campgrounds"); const multer = require("multer"); const { storage } = require("../cloudinary"); const upload = multer({ storage }); router .route("/") .get(campgrounds.getAllCampgrounds) .post(upload.array("images", 4), campgrounds.createCampground); router .route("/:id") .get(campgrounds.getCampgroundById) .put(upload.array("images", 4), campgrounds.updateCampground) .delete(campgrounds.deleteCampground); module.exports = router;
package.json
{ "name": "backend", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "nodemon index.js", "start": "node index.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "bcrypt": "^5.1.1", "cloudinary": "^1.41.0", "cors": "^2.8.5", "dotenv": "^16.3.1", "express": "^4.18.2", "jsonwebtoken": "^9.0.2", "mongodb": "^6.2.0", "mongoose": "^8.0.0", "multer": "^1.4.5-lts.1", "multer-storage-cloudinary": "^4.0.0", "validator": "^13.11.0" }, "devDependencies": { "nodemon": "^3.0.3" } }
实在找不到解决办法,恳请各位帮忙排查问题。
内容的提问来源于stack exchange,提问作者Cain
相关产品推荐
相关产品推荐

