在Heroku中部署Node.js应用程序

我开发了一个node.js应用程序,它在本地工作正常。

现在,之后,我在Heroku部署应用程序我在浏览器控制台中收到一些HTTP 404 errors

我的理解是,这个问题的原因是由节点 package.json模块引起的。 实际上, 外部 package.json安装成功,但客户端文件夹中提到的节点模块未安装。

问:关于修改(或要做)使客户机节点模块安装的必要性的任何想法?

下面的图片描述了我的文件夹结构。

在这里输入图像说明

每次将代码推送到Heroku,Heroku都会在项目的ROOT中查找package.json文件。 Heroku然后将安装这些依赖关系。

在你的情况,因为你有多个package.json文件,Heroku没有看到嵌套在你的项目的子文件夹。

你有最好的select是列出你的顶级package.json文件中的所有依赖项。 您也可以创build自己的Heroku Buildpack来自定义Heroku部署过程,但强烈build议您不要这样做(这将是一段时间内的噩梦)。

你的情况下的另一个select(这可能是好的,取决于你的团队有多大)将移动你的客户端代码到它自己的Git项目,并将其分别部署到静态托pipe提供商,如Amazon S3或类似的东西。 这样可以让你将后端项目直接部署到Heroku,而不必担心任何前端逻辑。