【问题标题】:How do I tell heroku that my server.js and package.json are inside a folder?我如何告诉 heroku 我的 server.js 和 package.json 在一个文件夹中?
【发布时间】:2020-08-29 14:33:29
【问题描述】:

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

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

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

【问题讨论】:

标签: node.js reactjs heroku deployment heroku-cli


【解决方案1】:

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

您需要添加如下内容:

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

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

【讨论】:

  • 当我在本地工作时,我从我的project-replays 文件夹运行npm start。有没有办法也改变它?如果它试图从根文件夹运行npm start,它会失败吗?
  • > 有没有办法也改变它?我会在根目录下设置两个启动脚本。你可以有一个类似于cd project-replays && npm start"start-frontend" 脚本。 > 如果它试图从根文件夹运行 npm start 它会失败吗?你需要一个package.json 在根目录。由于您使用了一些带有 2 个子目录的脚本,因此我建议您也使用 Procfile:devcenter.heroku.com/articles/procfile
  • 但它再次请求依赖项,需要复制后端package.json中的依赖项并粘贴到根package.json中
猜你喜欢
  • 2019-07-08
  • 2020-02-25
  • 2018-03-06
  • 2020-12-31
  • 2017-02-10
  • 2017-01-16
  • 2016-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多