Автор оригинала: FreeCodeCamp Community Member.
Этаном Райан
Я люблю консоль. Объединение («вещи»).
Я делаю это на протяжении всего моих приложений, для целей отладки и целей настроек функций, и просто для нее явного ада. Это весело восполнить вещи на консоли.
Я даже пользуюсь Console.warn ()
и Console.Error ()
и Console.table ()
Если я чувствую себя резкому.
Мне нравятся все красивые цвета, которые они делают в моей консоли, а иногда вы хотите, чтобы некоторые сообщения выделялись больше, чем другие.
Но я понял, глядя на Мой генератор истории app wordnerds Вчера, чем я входил в консоль в режиме производства.
Э-о спагеттиос.
Это не-нет. Это может замедлить код без необходимости, и что более важно, он может поставить под угрозу почтовые адреса моих пользователей! Я регистрировал все имена пользователей My пользователей и адреса электронной почты. Не круто! Их пароли зашифрованы конечно, но все же, нет Bueno. Я бы не хотел, чтобы никаких плохих парней получают кучу адресов электронной почты моих пользователей и спам их бродяга.
Избавиться от консольных журналов в режиме производства
Исправление оказалось легко. Конечно, я мог бы пройти через кодовую базу и прокомментировал всю мою консоль .Logs (), но это будет боль, а некоторые из них служат важных целях в режиме развития.
К счастью, проще, лучше.
Сначала я консультировался Некоторые из решений к этой проблеме Перечислены на стек потока , а затем в конечном итоге пошел с первым решением, указанным на Этот блог пост Отказ
Как некоторые из комментариев, упомянутых, когда кто-то перечислил это как решение проблемы: «Это взлома. Ваш [SIC] тратает расчет в производстве»
Хорошие дебаты! Я не слишком беспокоился о вызове пустой функции несколько раз и тратить некоторые вычисления в производстве, поэтому я пошел с этим решением, потому что это легко реализовать и решать мою проблему.
Вот как я это сделал, в файле SRC/index.js:
Конечно, я мог бы сделать это в любом файле, как компонент приложения, или мой компонент для историй. В любом месте, пока оно перед любыми консольными журналами или предупреждениями или ошибками. Но мне почувствовали смысл сделать это в корне.
Я проверил его в разработке, заменяя «добычу» с «развитием», и он работал! Нет дополнительных сообщений в консоли.
Добавление сообщений обратно в консоль
Но потом мне было грустно:(
Нет больше сообщений в консоли? Казалось таким редким.
Может также иметь некоторые сообщения для тех любопытных, бессмысленного слова ботаника достаточно смешиваются, чтобы открыть консоль.
Поэтому я добавил один обратно, как скрытый Пасхальное яйцо :
Как я это сделал? Легко: поскольку все звонки моего приложения в console.log ()
, Console.warn ()
и Console.Error ()
Где перезаписаны пустыми функциями, я просто добавил в Console.info ()
! Это в основном так же, как console.log ()
Отказ Некоторые из различий перечислены и оспариваются, здесь Отказ
всем привет!
Было немного скучно, хотя. У меня уже было зарегистрировано мое приложение имя пользователя, хранящееся в состоянии, так почему бы не персонализировать мое сообщение?
И если я собираюсь персонализировать свое сообщение, почему бы не персонализировать кучу сообщений, а случайным образом возвращать каждый раз, когда войти в систему зарегистрированным пользователем, проверяя консоль? Всем нравится найти пасхальные яйца!
Это то, что я решил сделать, и вот как я это сделал:
Я оказываю свой приветственный компонент в моем скачке, так что всякий раз, когда зарегистрированный пользователь выбирает, чтобы проверить консоль, они увидят одну из этих дружественных сообщений!
function getFriendlyMessage(nameString) { let messages = [ `Hello ${nameString}, it's good to see you!`, `sup ${nameString}`, `hi there ${nameString}, you look awesome today!`, `hi there ${nameString}, you spectacular human being you!`, `you look awesome today ${nameString}!`, `hellllooooooo ${nameString}!`, `Hey ${nameString}, how's life?`, `Can you keep a secret, ${nameString}? You're my favorite!`, `Nothing to see here, ${nameString}.`, `Congratulations, ${nameString}! You've discovered the console ;)`, `have i told you lately that i love you, ${nameString}?`, `i knew you'd find this Easter egg eventually, ${nameString}...`, ] var randomMessage = messages[Math.floor(Math.random() * messages.length)]; return randomMessage }
Кодирование весело.
Спасибо за чтение, слово ботаника!