2016-04-08 13 views
13

私のプロジェクトのルートには、frontendbackendというフォルダがあります。どちらのフォルダにも、依存関係の一覧を示すpackage.jsonが含まれています。アプリケーションをデプロイするときに、両方のフォルダでnpm installを実行するようにHerokuに指示するにはどうすればよいですか? 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ごとに1つだけのWebプロセスが利用可能であると思われるように、それが動作しない可能性があることを言う必要があります。 この最後のポイントは確認することです。

+2

ビルド中に 'cd'を使用することはできませんが、私はすでにそれをやっています(Herokuはエラーを出し、ビルドに失敗するでしょう)。あなたは' 'npm --prefix ./front install "を実行します。私は、それをやるためにより多くのHerokuの "ネイティブ"な方法を望んでいました。恩恵が終わる前に私がそのような答えを得なければ、私はあなたに賞金を授与します。ちょうど私が提供した情報であなたの答えを更新してください。ありがとう! – maximedupre

+0

またはポストインストールフックを使用する – malix

4

あなたはProcfileでプロジェクトのためのいくつかのエントリポイントを定義することができます。

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

しかし、あなたは少なくとも、ホビーにアップグレードする必要があります。 7ドル/ dyno /月です。

関連する問題