我从一个前端应用程序(Vite + VueJS)和一个后端应用程序(NodeJS,ExpressJS)构建了一个网站。
我尝试按照官方文档使用Heroku明确地部署它们。
首先,我从GitHub仓库部署了客户端,并创建了“server.js”,“Procfile”文件。它运行得很好。
我对我的后端应用程序遵循了相同的过程。一旦在Heroku上完成了部署,我导航到我的网站的URL,我得到了一个错误。
// app.ts
import dotenv from "dotenv";
dotenv.config();
import config from "config";
import createServer from "./server/createServer";
const port = process.env.PORT || config.get<number>("port");
const clientUri = config.get<string>("clientUri");
const app = createServer();
app.listen(port, async () => {
console.info(`Server is running on ${clientUri}`);
});
// package.json
"scripts": {
"dev": "ts-node-dev --respawn --transpile-only src/app.ts",
"build": "tsc",
"postinstall": "npx prisma generate && npx prisma db push && tsc",
// Procfile
web: node build/app.js
如果有更有经验的人能告诉我错误从何而来,我将不胜感激。谢谢。
1条答案
按热度按时间pnwntuvh1#
请注意,app.js位于此目的地:
node build/app.js
但是当你在Heroku上运行代码时,它会从以下位置运行代码:app/app.js
我不知道Heroku,但我认为你应该在设置中更改app.js
地址。