Мне было интересно, как я должен реагировать на вход на стороне клиента? В настоящее время я использую 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
Зачем нужно оборачивать звонки console.info
? Насколько я понимаю, они будут пойманы redux-logger, и он будет решать, в зависимости от ваших настроек, просто молча подавлять их или повторно бросать?
@ceejayoz, я думаю, вы здесь неправильно понимаете redux-logger. redux-logger выполняет автоматическое ведение журнала. Мне не нужно писать какие-либо операторы console.info или что-то еще, он просто все делает из коробки. Я спрашиваю, есть ли способ вести пользовательский и ручной журнал, который не отображается в производстве и, если возможно, является зависимостью разработчика, но мне НЕ нужно оборачивать оператор if каждый раз, когда я его использую.
Вы можете переопределить console.info своим собственным поведением в продакшене: stackoverflow.com/questions/7042611/…
@ceejayoz Спасибо! Я думаю, это жизнеспособное решение. Однако, если я хочу использовать модуль npm для ведения журнала, такого как отладка, тогда мне все равно придется иметь зависимость как зависимость, не относящуюся к разработчикам, верно? Если у меня это есть зависимость от разработчика, мне все равно нужно будет заключать каждый журнал в оператор if, или я ошибаюсь?