Next.jsで動作環境がProdcutionであるかどうかを判定する方法

作成日:

本ページでは、Next.jsでProductionであるかどうかを判定する方法について解説します。

方法#

環境変数 NODE_ENVprocess.env を利用してアクセスして判定します。

export default function Hoge() {
    const env = process.env.NODE_ENV;
    if (env == 'production') {
        // production でやりたいこと
    } else if (env == 'development') {
        // development でやりたいこと
    }
}

JSX を返却する際に production であるか否かを判定するには 三項演算子 を利用します。

export default function Hoge() {
    const env = process.env.NODE_ENV;
    return (
        <>
        {
            (env == 'production') ?
                <div>Production</div>
            :
                <div>Development</div>
        }
        </>
    )
}

説明#

process.env に関して#

process.env は npmのジョブが実行されている環境の環境変数の情報を持った変数です。

NODE_ENV に関して#

NODE_ENV は実行環境に応じた値が設定される環境変数です[1] 。これは node を動作させた際に自動的に設定されます。

next dev を実行した際にはこの値に development が指定され、 next startnext export を実行した際には production が設定される。

応用先#

development 環境では起動させたくない機能などがある場合に本機能でマスクするなどといった使い方が期待されます。

Next.js