Modulus.ioに展開すると(他のPAASにも当てはまるかもしれません)、packages.jsonファイルから必要なパッケージをインストールします。インストールプロセスの一環として、いくつかのnpmスクリプトも呼び出される可能性があります。例えば、postinstall
。ただし、これらのスクリプトは本番環境で実行できない(または実行しない)ことがあります。ローカルでしか利用できないスクリプトや、プロダクションで意味をなさないスクリプトが原因です。PAAS/Modulusへの展開時にnpmスクリプトを無視する方法
環境を検出して特定のnpmスクリプトを実行または実行しないにはどうすればよいですか? process.env
オブジェクトにアクセスし、スクリプトを適切に処理することができますか、それとも良い方法がありますか?
「$ NODE_ENV」のヒントをありがとう。終了状態 '1'を返すように少し変更しなければならなかったので、展開時にさらなる実行が中止されました。これは、 "postinstall"のように条件を否定するときに機能します: "[\" $ NODE_ENV \ "= production] || someCmd" '。 – str