我如何告诉 heroku 我的 server.js 和 package.json 在一个文件夹中?

How do I tell heroku that my server.js and package.json are inside a folder?

目前我的文件结构是这样的

如您所见,我的服务器和包文件在后端文件夹中。 project-replays 文件夹是前端文件夹。

正如预期的那样,当我在我的根文件夹上执行 heroku local 时,它告诉我找不到应该放在根文件夹上的 package.json。有没有办法告诉 heroku 在后端文件夹中查找 package.json?

您需要将 package.json 添加到 root,即使它只是用于 运行ning 脚本。检测 package.json 也是 Node buildpack 检测 Node 应用程序的方式,因此这是 运行 Heroku 上 Node 的最低要求。

您需要添加如下内容:

"scripts": {
  "start": "node backend/server.js"
}

heroku local 将默认使用根目录下的 npm start 脚本。