▼使い分けると何が変わるのか
→ npm install --production を実行すると、dependenciesのパッケージのみインストールされるため、インストール時間の短縮、ディスク使用量の削減が期待できる
<aside> ⚠️ 「テスト、ビルド関係のパッケージは常にdevDependenciesに入れなければならない」というのは勘違いなので要注意! → プラットフォームの都合や運用方法で変わるよ
▼例
- Herokuの場合
- ソースコードをherokuに送り込み、heroku上でbuildする
- buildに必要なbabelはdependenciesに書くべき
- testに必要なmocha等は、devDependenciesに書く
- Docker imageをオンプレで配布する場合
- 開発者側でソースコードをbuildする
- ユーザーには、build結果だけを使って作成したDocker imageが渡される
- babelもmochaもdevDependenciesに書く
</aside>