在我的项目的根目录中,我有一个frontend
和backend
文件夹。这两个文件夹都包含列出其相关性的package.json
。如何在部署应用程序时告诉Heroku在两个文件夹上运行npm install
? Heroku预计默认情况下只有一个package.json
文件。我需要用Procfile做些什么吗? Heroku文档似乎没有讲述我的具体问题。在同一个Heroku应用程序/ dyno上部署后端和前端
感谢您的帮助!
在我的项目的根目录中,我有一个frontend
和backend
文件夹。这两个文件夹都包含列出其相关性的package.json
。如何在部署应用程序时告诉Heroku在两个文件夹上运行npm install
? Heroku预计默认情况下只有一个package.json
文件。我需要用Procfile做些什么吗? Heroku文档似乎没有讲述我的具体问题。在同一个Heroku应用程序/ dyno上部署后端和前端
感谢您的帮助!
似乎您可以将package.json
文件放在项目的根目录下,并使用脚本在两个文件夹中调用npm i
。
https://devcenter.heroku.com/articles/nodejs-support#customizing-the-build-process
喜欢的东西cd front && npm i && cd ../back && npm i
,但我敢说,如果他们在不同的端口上运行,它可能并不像它看起来每procfile只有一个网页的过程是可用的工作。 这最后一点是确认。
您可以在Procfile项目定义几个切入点:
web: cd front && npm i && npm start
server: cd backend && npm i && npm start
但是,你必须升级到业余爱好,至少。它是7美元/代表/月。
是的,我已经这么做了,虽然在构建期间你不能使用'cd'(如果你这样做的话,Heroku会给出一个错误并使你的构建失败),你需要做的事情是:''npm --prefix ./front install“'。我希望能有更多的Heroku“原生”方式来做到这一点。如果在赏金结束之前我没有得到这样的答案,我会奖赏你的赏金。请用我刚刚提供的信息更新您的答案。谢谢! – maximedupre
或使用postinstall挂钩 – malix