package.jsonで環境変数(NODE_ENV)を設定するとき、WindowsでもLinux,Macでも動くようにする


概要

npm startしたいときpackage.jsonで環境変数(たとえばNODE_ENV)をセットしつつ起動したいときcross-envをつかうと実行環境がWindowsなのかLinux、Macなのか、といったプラットフォームを意識しなくて良いようにする

使用前→Linux用とWindows用で書き換える必要あり

スクリプトは以下のようになる

Linux,Macなら

package.json(使用前)
"scripts": {
    "test":"NODE_ENV=test jest"
}

Windowsなら

package.json
"scripts": {
    "test":"set NODE_ENV=test&&jest"
}

このようにプラットフォームを意識して書きわける必要があった

使用後→"cross-env"で解決

cross-envをインストールする

npm install --save-dev cross-env

Linux,MacもWindowsも以下でOK

package.json(使用後)
"scripts": {
    "test":"cross-env NODE_ENV=test jest"
}

これで、プラットフォームを意識せずに、以下のように実行することができる

npm test