スクリプト機能を使う中で、実行環境によって処理分けをしたいことがあります。特に開発時とデプロイ後で分けたいというニーズは多いのではないでしょうか。
そこで簡単なスクリプトでどんな環境変数があるのか確認してみました。
コードについて
コードは次のようになります。
module.exports = function(req, res) { res.status(200).json(process.env); };
node.jsの環境変数はprocess.envで取得できます。それをJSONデータとして返すように指定しました。
実行結果
実行結果は次のようなJSONになりました。
{ "HOME": "/home/script", "HOSTNAME": "73ef44c590f0", "NODE_VERSION": "6.5.0", "NPM_CONFIG_LOGLEVEL": "info", "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "TERM": "xterm", "http_proxy": "", "https_proxy": "" }
この中で処理分けとして使えるのはHOME環境変数ではないでしょうか。これが /home/script であれば本番環境、それ以外はローカルなどの開発環境という区別ができるでしょう(変わる可能性もありますので注意してください)。
スクリプトを使いこなすためには実行環境について知らなければなりません。また、開発時はローカルコンピュータ上というのはよくあるでしょう。みなさんのスクリプト開発に役立ててください。