みかづきブログ・カスタム

基本的にはちょちょいのほいです。

webpackでバンドルするスクリプト内で実行したスクリプト名を取得する 💻

process.env.npm_lifecycle_event

で取得できます。

Next.jsのexport設定を本番とステージング環境用で分ける際、

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "start": "next start",
  "lint": "next lint",
  "export-staging": "next build && next export -o staging",
  "export-production": "next build && next export -o production"
}

という感じでスクリプトを分けているのですが、process.env.npm_lifecycle_eventexport-stagingなのか、export-productionなのかで、どちらに向けて書き出されているのかを判定し処理を分けました。

引数で判断しても良いと思うのですが、第三者が見てもわかりやすいかなと思い、個人的にはコマンドを分けることが多いです。