2016-04-08 127 views
13

在我的项目的根目录中,我有一个frontendbackend文件夹。这两个文件夹都包含列出其相关性的package.json。如何在部署应用程序时告诉Heroku在两个文件夹上运行npm install? Heroku预计默认情况下只有一个package.json文件。我需要用Procfile做些什么吗? Heroku文档似乎没有讲述我的具体问题。在同一个Heroku应用程序/ dyno上部署后端和前端

感谢您的帮助!

回答

5

似乎您可以将package.json文件放在项目的根目录下,并使用脚本在两个文件夹中调用npm i

https://devcenter.heroku.com/articles/nodejs-support#customizing-the-build-process

喜欢的东西cd front && npm i && cd ../back && npm i

,但我敢说,如果他们在不同的端口上运行,它可能并不像它看起来每procfile只有一个网页的过程是可用的工作。 这最后一点是确认。

+2

是的,我已经这么做了,虽然在构建期间你不能使用'cd'(如果你这样做的话,Heroku会给出一个错误并使你的构建失败),你需要做的事情是:''npm --prefix ./front install“'。我希望能有更多的Heroku“原生”方式来做到这一点。如果在赏金结束之前我没有得到这样的答案,我会奖赏你的赏金。请用我刚刚提供的信息更新您的答案。谢谢! – maximedupre

+0

或使用postinstall挂钩 – malix

4

您可以在Procfile项目定义几个切入点:

web: cd front && npm i && npm start 
server: cd backend && npm i && npm start 

但是,你必须升级到业余爱好,至少。它是7美元/代表/月。

相关问题