Как узнать, что приложение запущено с помощью реакции-запуска скриптов, запускается в режиме разработки или в производственном режиме - PullRequest
0 голосов
/ 08 апреля 2019

При запуске моего приложения реакции с react-script start в двух случаях есть некоторый специфический сценарий.

Для одного экземпляра я вижу экран наложения границ ошибок , в то время как для другого экземпляра я не вижу экран границ ошибок, когда возникает какое-либо исключение времени выполнения, хотя оба экземпляра имеют одинаковую кодовую базу и начинаются с react-scripts start. Я запускаю оба экземпляра с react-scripts start, потому что я хочу, чтобы они оба работали в режиме разработки.

Я установил NODE_ENV = development и проверил в app.js, что process.env.NODE_ENV в начале установлен как development. Тем не менее я не вижу экран наложения ошибок для одного экземпляра, когда исключение во время выполнения. Эта ошибка четко записана в консоли. Но в одном случае я получаю экран с наложением ошибок, а в другом - нет.

Согласно Tyro ниже в его ответе, кажется, что проверка NODE_ENV покажет, работает ли приложение в режиме prod или dev. Но, в моем случае, хотя NODE_ENV проверено, чтобы быть установленным как development, но поведение похоже на режим production, так как наложение ошибок не появляется с исключением времени выполнения, хотя регистрируется на консоли.

Вопрос:

1) Проверка на NODE_ENV говорит о значении переменной, но как мы можем узнать, действительно ли приложение работает в среде, определяемой NODE_ENV?

2) В моем случае приложение ведет себя как в рабочем режиме, хотя проверенное значение NODE_ENV равно «разработка», поскольку экран наложения границы ошибки не отображается, хотя ошибка регистрируется в консоли. Существует ли какой-либо другой сценарий, когда экран с наложением ошибок не будет отображаться даже в режиме development?

1 Ответ

0 голосов
/ 08 апреля 2019

Я не уверен, что вы можете проверить переменную NODE_ENV, используемую вашим приложением CRA.Вы не можете проверить это на своей машине (докере), введя echo $NODE_ENV.

  1. Чтобы установить = обновить команду react-scripts start, если вы используете ее для запуска приложения:

"scripts": { "start": "NODE_ENV=development react-scripts start", ...

Чтобы проверить = в вашем App.js файле ввода, просто добавьте console.log('env is:', process.env.NODE_ENV), запустите приложение, откройте в браузере и покажите console, вы должны увидеть выходные данные вашего журнала.

или window.MyEnv = process.env.NODE_ENV, откройте тот же консольный отладчик и проверьте значение window.MyEnv.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...