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

时间:2017-01-05 15:55:16

标签: node.js heroku

我开发了一个node.js应用程序,它在本地运行良好。

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

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

问:是否有必要修改(或做)使客户端节点模块安装?

下图描绘了我的文件夹结构。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

您最好的选择是列出顶级package.json文件中的所有依赖项。您也可以创建自己的Heroku Buildpack来自定义Heroku部署过程,但我强烈建议AGAINST这样做(随着时间的推移,这将是一场噩梦)。

您的案例中的另一个选项(根据您的团队规模可能会很好)将您的客户端代码移动到其自己的Git项目中,并将其单独部署到Amazon S3等静态托管服务提供商,或类似的东西。这样您就可以将后端项目直接部署到Heroku,而不必担心任何前端逻辑。