如上所述,我尝试在 Vercel 上托管我的 Nodejs 后端,但遇到了问题。据我所知,您需要使用 vercel.json 文件,以便 vercel 知道它是一个节点环境。
我最初尝试通过连接我的 Github 项目来使用他们的界面,分配根目录为 ./backend,然后是 npm install 和 node server.js 的自定义命令。这有效,我可以在日志中看到我的端口在 8080 上启动...但是构建永远不会完成,它只是陷入“构建”过程中。
然后我尝试使用此配置创建 vercel.json 文件
这完成了构建步骤,但没有运行我的服务器,我遇到了 404 页面
{
"version": 2,
"builds": [{"src": "server.js", "use": "@vercel/node"}],
"routes": [{"src": "/(.*)", "dest": "/"}]
}
然后我尝试了这个:
遇到了另一个永远的构建循环,但我的服务器显然已经启动了
{
"version": 2,
"buildCommand": "npm run build",
"routes": [{"src": "/(.*)", "dest": "/"}]
}
我有点困惑,我知道这一定是愚蠢的事情,但任何帮助将不胜感激,干杯!
已解决:对于任何偶然发现此问题的人,以下是我为修复它所做的更改。
package.json(具体是启动命令,我之前使用的是build)
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js"
},
vercel.json
{
"version": 2,
"builds": [{
"src": "server.js",
"use": "@vercel/node"
}],
"routes": [{"src": "/(.*)", "dest": "server.js"}]
}