121
101

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Nodeプロジェクトで環境依存の設定の管理方法

Last updated at Posted at 2016-05-15

Nodeプロジェクトで環境依存の設定の管理方法を紹介します。例えばDBの設定は、デプロイ環境や各ユーザの開発環境に依存するので、環境依存の設定といえるでしょう。これらの設定はコード内に埋め込まず、ユーザ各自またはデプロイスクリプトに任せるべきです。環境依存の設定をNodeプロジェクトで管理するとき、dotenvモジュールが便利です。

dotenvを使う

dotenvモジュールは、.env ファイルから process.env へ環境変数をロードするモジュールです。dotenvを使うと、プロジェクトのコードから独立した環境依存の設定を、ローカル単位で管理することができます。

dotenvパッケージは npm からインストールできます。依存モジュールがゼロなのが嬉しいです。

npm install dotenv --save

.envファイルは、プロジェクトのルートディレクトリに配置します。

.env
DB_HOST="localhost"
DB_USER="root"
DB_PASS="s1mpl3"

dotenvを使って環境変数をロードするには、次のように記述します。

// 設定を.envからロード
require('dotenv').config();

// process.envから参照可能
db.connect({
  host: process.env.DB_HOST,
  username: process.env.DB_USER,
  password: process.env.DB_PASS
});

dotenvを使った運用

.env ファイルは通常、リポジトリに含ませるべきではありません。そのためプロジェクトの .gitignore にルールを追加します。

.gitignore
/.env

また新たなプロジェクト参入者が容易に .env ファイルを設定できるよう、.env の雛形をプロジェクトに追加しておくと親切です。

.env.sample
DB_HOST="db-server.example.com"
DB_USER="db_user"
DB_PASS="db_password"
121
101
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
121
101

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?