2017-01-05 12 views
1

私はnode.jsアプリケーションを開発していますが、ローカルで問題なく動作しています。HerokuでのNode.jsアプリケーションのデプロイ

今度は、Herokuにアプリケーションをデプロイしました。ブラウザのコンソールにHTTP 404 errorsが表示されています。

この問題の原因は、ノードpackage.jsonモジュールが原因であると私は理解しています。実際には、外部package.jsonは正常にインストールされましたが、クライアントフォルダに記載されているノードモジュールはインストールされていません。

Q:クライアントノードモジュールをインストールするために何を修正(または実行)する必要がありますか?

下の画像は私のフォルダ構造を表しています。

enter image description here

答えて

1

あなたはHerokuのにコードをプッシュするたびに、Herokuのは、プロジェクトのルートにpackage.jsonファイルを探します。 Herokuはこれらの依存関係をインストールします。

package.jsonのファイルが複数あるため、Herokuはプロジェクトのサブフォルダにネストされているファイルを見ていません。

あなたの最善の選択肢は、トップレベルのpackage.jsonファイル内のすべての依存関係を一覧表示することです。 Herokuの展開手順をカスタマイズするには独自のHeroku Buildpackを作成することもできますが、これをやり直すことを強くお勧めします(時間の経過とともに維持するのは悪夢です)。

別のオプション(チームの規模によっては良いかもしれません)は、クライアント側のコードを独自のGitプロジェクトに移動し、Amazon S3のような静的なホスティングプロバイダ、または類似のもの。これにより、バックエンドプロジェクトをHerokuに直接配備できるようになりますが、フロントエンドロジックについてはまったく心配する必要はありません。

関連する問題