【发布时间】:2021-10-27 15:40:34
【问题描述】:
在将我的 react 应用程序部署到 Heroku 时遇到困难。我收到以下错误:
ReferenceError: express is not defined
这里是项目结构:
- 后端文件夹
- 前端文件夹
- package.json
- 过程文件
这是我的 Procfile
web: node backend/server.js
这是根目录下的 package.json
"name": "zippora",
"version": "0.1.0",
"private": true,
"scripts": {
"start": "node backend/server.js",
"heroku-postbuild": "cd frontend && npm install && npm run build"
},
"engines": {
"node": "16.4.1",
"npm": "7.18.1"
},
"dependencies": {
"bcrypt": "^5.0.0",
"body-parser": "^1.19.0",
"colors": "^1.4.0",
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^5.0.0-alpha.8",
"jsonschema": "^1.4.0",
"jsonwebtoken": "^8.5.1",
"morgan": "^1.10.0",
"pg": "^8.3.0"
}
}
后端文件夹中的我的 server.js 文件
const app = require("./app.js");
const { PORT } = require("./config");
app.use(express.static("../frontend/build/index.html"))
app.get("/", (res,req) => {
res.send({"message":"Hello?"})
})
app.listen(PORT, function () {
console.log(`Started on http://localhost:${PORT}`);
});
我的 app.js 文件在后端的顶部
/** Express app for zippora. */
const express = require("express");
const cors = require("cors");
const { NotFoundError } = require("./expressError");
const { authenticateJWT } = require("./middleware/auth");
const authRoutes = require("./routes/auth");
const usersRoutes = require("./routes/users");
const morgan = require("morgan");
const app = express();```
【问题讨论】: