Как правило, да, это не очень хорошая идея, чтобы показывать сообщения журнала в вашем рабочем коде.
В идеале вы должны удалить такие сообщения журнала сценарием сборки перед развертыванием; но многие (большинство) людей не используют процесс сборки (включая меня).
Вот небольшой фрагмент кода, который я использовал в последнее время для решения этой дилеммы. Он исправляет ошибки, вызванные неопределенным console
в старом IE, а также отключает ведение журнала в «development_mode».
// fn to add blank (noOp) function for all console methods
var addConsoleNoOp = function (window) {
var names = ["log", "debug", "info", "warn", "error",
"assert", "dir", "dirxml", "group", "groupEnd", "time",
"timeEnd", "count", "trace", "profile", "profileEnd"],
i, l = names.length,
noOp = function () {};
window.console = {};
for (i = 0; i < l; i = i + 1) {
window.console[names[i]] = noOp;
}
};
// call addConsoleNoOp() if console is undefined or if in production
if (!window.console || !window.development_mode) {
this.addConsoleNoOp(window);
}
Я почти уверен, что взял большую часть вышеприведенного addConsoleNoOp
f'n из другого ответа на SO, но не могу найти прямо сейчас. Я добавлю ссылку позже, если найду ее.
edit: Не тот пост, о котором я думал, но вот похожий подход: https://github.com/paulmillr/console-polyfill/blob/master/index.js