Можно ли определить, является ли текущая версия React разработкой или производственной во время выполнения? Я бы хотел сделать что-то вроде этого:
if (React.isDevelopment) {
// Development thing
} else {
// Real thing
}
javascript
reactjs
pfhayes
источник
источник
browserify
иenvify
.process is not defined
на клиенте.process.env.NODE_ENV
будет «разработка» в режиме разработки.process.env.NODE_ENV
будет определено для вас, и у вас будет доступ к нему в любом месте вашего приложения. Подробности смотрите в документации React .Я использую вспомогательный файл (в Typescript):
import process from "process"; const development: boolean = !process.env.NODE_ENV || process.env.NODE_ENV === 'development'; export default function isDev(): boolean { return development; }
Тогда в другом месте я использую это так:
import isDev from "./helpers/DevDetect"; if (isDev()) { ... }
источник
Я хотел получить доступ к этому из index.html и хотел решение, которое не включало бы извлечение веб-пакета или настройку его с дополнительными модулями, и я придумал это.
Источники - это ответ Дэвида выше и документация create-response-app для использования переменных среды в html файле.
if ( ! '%NODE_ENV%' || '%NODE_ENV%' === 'development') { // dev code } else { // production code }
источник