Рубрики
Без рубрики

Как удивить пользователей вашего приложения, скрывая пасхальные яйца в консоли

Итаном Райан, как удивить пользователей вашего приложения, скрывая пасхальные яйца в Consoletoo, много введя в консоль Consolei Love.Logging («вещи»). Я делаю это на протяжении всего моих приложений, для целей отладки и целей настроек функций, и просто для нее явного ада. Это весело

Автор оригинала: 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
}

Кодирование весело.

Спасибо за чтение, слово ботаника!