概要
nodeとは、javascriptを実行するためのホスト環境のこと。
Node.jsのprocessモジュールを使うと、nodeに関連する情報を取得したり、nodeの動作を制御したりすることができる。
具体例
環境変数にアクセスするprocess.env
nodeで環境変数にアクセスするにはprocess.envを利用する。
下記のコードをpeocess.js
ファイルに記載し、試しにホスト環境の環境変数を表示してみる。
console.log(process.env);
node peocess.js
で実行すると下記結果となった。
{
COLORFGBG: '15;0',
COLORTERM: 'truecolor',
COMMAND_MODE: 'unix2003',
HOME: '/Users/***',
....以下環境情報が続く...
}
process.envから.envファイルを参照できるようにする
このままでは同じ階層に.envファイルを設置しても.envファイルの中身を参照できない。
.envファイルの中身を参照するには、dotenv
ライブラリがインストールされている必要がある。
npm i dotenv
でdotenvライブラリをインストール。
.envの中身が参照できているのか確認するため、下記ファイルをそれぞれ準備する。
- sample.js
const dotenv = require('dotenv').config();
console.log('ENVの中身:', process.env.NAME);
- .env
NAME=YAMADA
node sample.js
を実行し、結果を確認する。
ENVの中身: YAMADA
と出力されていれば、問題なく参照ができている。
processモジュールで特定の環境情報を表示
processは.env以外にも下記のような使い道があるので紹介する。
// 作業ディレクトリを表示する
console.log(process.cwd());
// 使用中のOSを表示する
console.log(process.platform);
// アプリケーションの実行時に渡された引数を表示する
console.log(process.argv);
processモジュールでプログラムの終了時に通知を受け取る
下記のように、アプリケーションの終了をトリガーとしてコードを実行することも可能。
process.on('exit', code => {
// processの終了をトリガーとして実行される。
console.log('Exited with status code:', code);
});
// processが終了した際に出力される。
console.log('Execution Completed');