Как вести журнал на стороне клиента только в сборке разработки

Мне было интересно, как я должен реагировать на вход на стороне клиента? В настоящее время я использую redux-logger для локализации своих действий redux, и это отлично работает, но я также хочу сделать более общее ведение журнала.

Однако приложение создается на основе образа докера и должно быть как можно меньше. В настоящее время у меня есть redux-logger в качестве зависимости разработчика и оберните его оператором if, чтобы проверить, находится ли я в производственном режиме:

if (process.env.NODE_ENV === 'production') {
  store = createStore(rootReducer, applyMiddleware(...middlewares));
} else {
  // Get logger and redux dev tools
  const { logger } = require('redux-logger');
  const { composeWithDevTools } = require('redux-devtools-extension');
  // push the logger to middlewares to be used
  middlewares.push(logger);
  // and create the store
  store = createStore(
    rootReducer,
    composeWithDevTools(
      applyMiddleware(...middlewares)
      // other store enhancers if any
    )
  );
}

Каков наилучший способ регистрации информации без необходимости вручную оборачивать console.info () внутри оператора if каждый раз, когда я хочу регистрировать информацию?

С нетерпением жду изучения новых подходов к входу в систему на клиенте. Большое спасибо !

@ceejayoz, как видите, это именно то, что я уже сделал ... Я спрашиваю, есть ли способ сделать это по-другому для общего ведения журнала, потому что я не хочу, чтобы каждый console.info был заключен в блок if

Marius Meiners 25.10.2018 16:35

Зачем нужно оборачивать звонки console.info? Насколько я понимаю, они будут пойманы redux-logger, и он будет решать, в зависимости от ваших настроек, просто молча подавлять их или повторно бросать?

ceejayoz 25.10.2018 16:38

@ceejayoz, я думаю, вы здесь неправильно понимаете redux-logger. redux-logger выполняет автоматическое ведение журнала. Мне не нужно писать какие-либо операторы console.info или что-то еще, он просто все делает из коробки. Я спрашиваю, есть ли способ вести пользовательский и ручной журнал, который не отображается в производстве и, если возможно, является зависимостью разработчика, но мне НЕ нужно оборачивать оператор if каждый раз, когда я его использую.

Marius Meiners 25.10.2018 16:41

Вы можете переопределить console.info своим собственным поведением в продакшене: stackoverflow.com/questions/7042611/…

ceejayoz 25.10.2018 16:45

@ceejayoz Спасибо! Я думаю, это жизнеспособное решение. Однако, если я хочу использовать модуль npm для ведения журнала, такого как отладка, тогда мне все равно придется иметь зависимость как зависимость, не относящуюся к разработчикам, верно? Если у меня это есть зависимость от разработчика, мне все равно нужно будет заключать каждый журнал в оператор if, или я ошибаюсь?

Marius Meiners 25.10.2018 16:57
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
44
0

Другие вопросы по теме