環境設定を行う!Node.jsのenvの使い方【初心者向け】

初心者向けにNode.jsのenvの使い方について解説しています。開発環境と本番環境を切り替える際にenvの内容を変更します。envの確認と変更方法を実際にコマンドを打ちながら説明しているので、ぜひ参考にしてみてください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回はNode.jsのenvについて解説します。

本番環境と開発環境の切り替えを行う場合に必要な知識なので、複数人で1つのプロジェクトを開発する際に役立つでしょう。

 

なお本記事は、TechAcademyのNode.jsオンライン講座の内容をもとに作成しています。

 

田島悠介

今回は環境変数に関する操作について説明しよう。

大石ゆかり

田島メンター!環境変数というのは何をするんですか~?

田島悠介

アプリ全体の設定に関係するもので、例えばプロジェクトを開発の環境と本番の環境とで切りかえたりできるんだ。どういう風に使うのか実際にやってみよう。

大石ゆかり

はい!

Node.jsのenvとは

Node.jsの環境変数は、process.envというオブジェクトに格納されます。

環境変数というのは、アプリケーションを動作させる際の最も基本的な設定内容が入った箱のようなものです。

環境変数をJavaScriptのソースコードとは別に管理する理由としては次のような理由があります。

実務でも開発環境の状態を把握したり開発環境と本番環境で切り替える際にenvの内容を変更します。

 

同じソースコードでも環境が異なる

同じソースコードや、アプリケーション構成であっても、開発環境と本番環境では実行する環境が異なることが実務上でもあります。

これは、URIに依存するAPIキーや長い開発期間を経てバージョンが変化したデータベース環境などがあります。URIとはURLの一部分を意味します。

APIキーとは、便利な機能をインターネット上のサービスから流用させてもらう時に、提供しているインターネットサービスに開発者としてアクセスする鍵です。

 

よく使われる環境変数

NODE_ENV

コマンド

NODE_ENV=development

解説

productionを指定すると本番環境を意味します。

developmentを指定すると開発環境を意味します。

指定した内容に基づいた環境設定の動作を反映させることができます。

 

NODE_DEBUG

コマンド

NODE_DEBUG=http,node app.js

解説

デバッグしたいモジュール名を指定します。

次のようにカンマ区切りで複数指定することも可能です。

ここでは、httpリクエストとapp.jsについてのデバッグ情報を指定しています。

 

NODE_PATH

コマンド

NODE_PATH=C:\Users\a\AppData\Roaming\npm\node_modules

解説

npmモジュールを検索する場合のディレクトリ先を指定します。

複数設定する場合は;で区切ります。

今回は、「C:\Users\a\AppData\Roaming\npm\node_modules」というディレクトリ(フォルダ)を指定しています。

 

田島悠介

よく使う環境変数をいくつか紹介したよ。

大石ゆかり

NODE_PATHはパスに関する説明のところでも見ましたね。

田島悠介

次にenvの確認と変更の方法について見ていこう。

[PR] Node.jsで挫折しない学習方法を動画で公開中

Node.jsのenvの確認と変更方法

process.envで確認

コマンド

let key = process.env.NODE_ENV;
console.log(key);

表示結果

NODE_ENV=development

解説

1行目のlet key = process.env.NODE_ENV;では、process.env.NODE_ENV;でNODE_ENV内の環境変数値を変数keyに代入しています。

変数とは値を入れる箱のようなものです。

2行目のconsole.log(key);では環境変数の値を表示することが可能です。

 

環境変数地を変更する

コマンド

set NODE_ENV=development

実行後の値

NODE_ENV=development

解説

set NODE_ENVというコマンドを実行すると、NODE_ENVの値がdevelopmentになります。

これは、現在の環境設定が開発環境を意味するdevelopmentで実行されていることを意味します。

開発時は基本的にdevelopmentという設定値で環境設定を行います。

 

setコマンドで本番環境に変更する

コマンド

set NODE_ENV=production

実行後の値

NODE_ENV=production

解説

ここでは、NODE_ENVの値としてproductionを代入して反映させています。

結果で、環境設定のNODE_ENVがproductionに変更されたことがわかります。

これにより、productionで設定されている本番環境での運用が可能になります。

 

今回はNode.jsのenvについて解説しました。

開発環境と本番環境の切り替えなど、いざという時に覚えておくと便利でしょう。

Node.jsの学習サイトもまとめているので、合わせて参考にしてみてください。

 

田島悠介

値を変更したあと、もう一度process.envを使って確認してみよう。

大石ゆかり

表示される現在の状態が変わっているのが分かりますね。

田島悠介

setコマンドはMacではexportになるので、結果が反映されない場合は一度確認してみよう。

大石ゆかり

なるほど、気をつけます。ありがとうございました!

また、オンラインのプログラミングスクールTechAcademyでは、Node.jsオンライン講座を開催しています。

Node.jsを使ってWebアプリケーションを開発することができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。