環境変数を.env
ファイルからprocess.env
に読み込むモジュール”dotenv”を簡単に紹介します。
インストール
npm install dotenv
.envファイルの作成
.envファイルを作成して、変数をKEY=VALUE形式で記述します。
# "#"で始まる行はコメントアウトされます
DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3
構成
ファイルの構成は以下のような感じ。
sample-app/
|-- .env
|-- app.js
|-- node_modules/
|-- package-lock.json
`-- package.json
使い方
環境変数を使用したいファイル内でrequire('dotenv').config()
でdotenv
を呼び出し、process.env.[変数名]
で定義した変数を使用します。
require('dotenv').config()
console.log(process.env.DB_HOST) // localhost
require('dotenv').config()
で返ってきたオブジェクトのparsed
プロパティには全ての変数がオブジェクトにKEY=VALUE形式で格納されています。
const result = require('dotenv').config()
console.log(result.parse) // { DB_HOST: 'localhost', DB_USER: 'root', DB_PASS: 's1mpl3' }
各プロパティの挙動
const result = require('dotenv').config()
/* 変数が定義されていない場合 */
console.log(process.env.DB_PORT) // undefined
/* .envファイルが空の場合 */
console.log(process.env.DB_HOST) // undefined
console.log(result.parsed) // {}
/* .envファイルが存在しない場合 */
console.log(process.env.DB_HOST) // undefined
console.log(result.parsed) // undefined
console.log(result.error) // エラーメッセージ(Error: ENOENT: no such file or directory, open...)