Как определить, находится ли Next.js в режиме сборки или разработки: практическое руководство

Next.js — популярная платформа для создания приложений React. При работе с Next.js важно знать, работает ли ваше приложение в режиме сборки или разработки. В этой статье мы рассмотрим различные методы определения режима, используя разговорный язык и примеры кода.

Метод 1: проверьте переменнуюprocess.env.NODE_ENV
Один из способов определить режим — проверить переменную process.env.NODE_ENV. В Next.js эта переменная содержит текущую среду. Зарегистрировав его значение, вы можете определить, находится ли приложение в режиме сборки или разработки. Рассмотрим следующий фрагмент кода:

console.log(process.env.NODE_ENV);

Если выходные данные — «рабочие», это означает, что приложение находится в режиме сборки. Если это «разработка», значит, он в режиме разработки.

Метод 2: используйте переменнуюprocess.env.NEXT_PUBLIC_VERCEL_ENV
Next.js предоставляет переменную process.env.NEXT_PUBLIC_VERCEL_ENVспециально для развертываний на платформе Vercel. Вы можете использовать эту переменную для определения режима. Вот пример:

console.log(process.env.NEXT_PUBLIC_VERCEL_ENV);

Если на выходе отображается «производство», это указывает на режим сборки, а «разработка» предполагает, что приложение работает в режиме разработки.

Метод 3: проверьте специальный флаг isProductionдля Next.js.
Next.js предлагает встроенный флаг isProductionдля определения режима. Вы можете получить к нему доступ из модуля next/config. Вот как вы можете его использовать:

const { publicRuntimeConfig } = require('next/config');
const isProduction = publicRuntimeConfig.isProduction;
console.log(isProduction);

Если выводится значение true, это означает, что приложение находится в режиме сборки. Если false, это указывает на режим разработки.

Определение того, находится ли приложение Next.js в режиме сборки или разработки, имеет решающее значение для правильной отладки, оптимизации и развертывания. В этой статье мы рассмотрели три метода достижения этой цели: проверка переменной process.env.NODE_ENV, использование переменной process.env.NEXT_PUBLIC_VERCEL_ENV(для развертываний Vercel) и проверка isProduction, предоставленный Next.js. Реализовав эти методы, вы получите четкое представление о режиме, в котором работает ваше приложение Next.js.