環境設定を行う!Node.jsのenvの使い方【初心者向け】
初心者向けにNode.jsのenvの使い方について解説しています。開発環境と本番環境を切り替える際にenvの内容を変更します。envの確認と変更方法を実際にコマンドを打ちながら説明しているので、ぜひ参考にしてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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:UsersaAppDataRoamingnpmnode_modules
解説
npmモジュールを検索する場合のディレクトリ先を指定します。
複数設定する場合は;で区切ります。
今回は、「C:UsersaAppDataRoamingnpmnode_modules」というディレクトリ(フォルダ)を指定しています。
よく使う環境変数をいくつか紹介したよ。
NODE_PATHはパスに関する説明のところでも見ましたね。
次にenvの確認と変更の方法について見ていこう。
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人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。