我正在尝试使用Angular 2前端部署Rails 5 api,Angular代码在主Rails项目中生成frontend
文件夹。
我能够使用本教程(https://www.angularonrails.com/deploy-angular-2rails-5-app-heroku/)进行部署,特别是这个自定义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)和此处(https://github.com/heroku/heroku-buildpack-nodejs/pull/203),但无法做出正面或反面。
请帮忙!
答案 0 :(得分:0)
诀窍是使用以下内容将package.json置于root:
{
"scripts": {
"postinstall": "cd frontend && npm install"
}
}
将“frontend”替换为angular / node应用程序所在的文件夹。
请参阅github问题讨论:https://github.com/heroku/heroku-buildpack-nodejs/issues/323#issuecomment-227520485