Rails 5 / Angular 2 个应用程序的 Heroku Node Buildpack

Heroku Node Buildpack for Rails 5 / Angular 2 app

我正在尝试部署带有 Angular 2 前端的 Rails 5 api,其中 Angular 代码位于 frontend 文件夹中主要 Rails 项目。

我能够使用本教程进行部署 (https://www.angularonrails.com/deploy-angular-2rails-5-app-heroku/), and specifically this custom Heroku buildpack (https://github.com/jasonswett/heroku-buildpack-nodejs/stargazers)。

虽然这个 buildpack 对于现有的来说绝对很棒,但在漫长的 运行 中取决于自定义实现,我有点不舒服。这也意味着我必须将 frontend 文件夹重命名为 client

有没有办法使用主要的 Heroku Node buildpack,并以某种方式将我的 Angular frontend 文件夹的路径作为 ENV 变量传递?我该怎么做呢?

我已经通读了此处 (Github) 的对话 (https://github.com/heroku/heroku-buildpack-nodejs/pull/192) and here (https://github.com/heroku/heroku-buildpack-nodejs/pull/203),但无法理解它的正反面。

请帮忙!

诀窍是在根目录下放置一个 package.json:

{
    "scripts": {
        "postinstall": "cd frontend && npm install"
    }
}

将 "frontend" 替换为 angular / node 应用程序所在的任何文件夹。

在此处查看 github 问题讨论:https://github.com/heroku/heroku-buildpack-nodejs/issues/323#issuecomment-227520485