Angular デプロイ 忘備録
大変参考になりました。ありがとうございます。
Angular CLI で作ったアプリを Heroku にデプロイして動くようにした - Corredor
express を利用する
expressとは、jsのフレームワーク。ルーティングHTTPヘルパー(リダイレクト、キャッシュ)、14以上のテンプレートエンジンをサポートする。(画面の描画ということ。)
# Express をインストールして dependencies に追加する $ npm install --save express
--save は何をしているかと言うと、ローカルにインストールするということ。 グローバルにインストールすると、コマンドとして利用できる。 そのかわりに、グローバルのバージョンが固定されてしまい、別のバージョンの利用のとき、切り替えが発生して面倒です。 開発の時に複数で開発する時は、package.jsonに記載されないので、不便ですね。
ローカルインストールの時は、アプリケーションフォルダの中に、node_modules ディレクトリが作成され、そこにパッケージがインストールされる。
--save-dev というのもあり、それは package.json の devDependencies に追記されます。
dependencies には5種類あります。
- dependencies
- devDependencies
- peerDependencies
- optionalDependencies
- bundledDependencies
dependencies にあるものは npm install --save でインストールできます。別の環境でも同じ環境を構築できるので便利です。
devDependenciesには 開発時のみ利用できるものを入れておくようです。具体的には、テストツールや、ビルドツール、タスクラナーなどです。
しかし、Herokuへデプロイする時は、devDependenciesに記載されているものは、インストールされない。ビルドがうまくいかないようです。それで、ng build コマンドに必要なものをすべて dependencies へ移動しておきます。
package.jsonに engins の記載を追加
"engines": { "node": "12.x", "npm": "6.9.x" }
Herokuが npm install する時にここを見るので記載します。
package.json 書き方について
"scripts": { "ng": "ng", "start": "ng serve",
この場合 shell script とエイリアスコマンドを指定できます。
エイリアスコマンドが : の左側、shell script が : の右側
この場合 ng start とコマンドを入力すると ng serve が実行されます。
参考にさせていただきました。 ちゃんと使い分けてる? dependenciesいろいろ。 - Qiita