小ネタ。
環境
- Node.js
- v12.22.3
ユースケース
- WinとMac, Linuxで実行したいファイルが異なるので、事前に判別したい
- gradlew.batとgradlew等々
- OSごとに最適なパスに切り替えたい
対応
process.platform
がwin32であることを確認する。
const isWin = process.platform === "win32";
そのほか判別できるOS
次のOSであれば、判別ができるようです。
- aix
- darwin
- freebsd
- linux
- openbsd
- sunos
- win32
- android
- 実験的なもので本サポートはされていないようです
終わりに
Node.jsでOSにより処理結果の差がでるスクリプトは基本的に書かないと思います。
私はたまたま必要になりましたが、今後この記事が読まれることがあるのでしょうか…?
超がつくほどの小ネタ記事でした。
この記事お役に立ちましたら、各種SNSでのシェアや、今後も情報発信しますのでフォローよろしくお願いします。
参考
- Process | Node.js v16.5.0 Documentation
- How do I determine the current operating system with Node.js - Stack Overflow