В настоящее время я работаю над проектом, в котором используется множество плоских геометрий, объединенных в одну сетку.
Когда я пытаюсь отладить свой код, я не могу оставить консоль открытой во время загрузки, потому что отладочные сообщения «THREE.PlaneGeometry: рассмотрите возможность использования THREE.PlaneBufferGeometry для уменьшения объема памяти». спамить консоль и замедлить загрузку кода, отображая их в консоли.
Он зависает по какой-то другой проблеме, но я не могу открыть консоль, чтобы увидеть ошибки, после того, как страница зависла из-за другой проблемы. Также я не могу оставить консоль открытой во время загрузки, потому что это резко замедляет время загрузки, печатая предупреждающие сообщения: P
Есть ли способ отключить эти сообщения? Я попытался просто переключить PlaneGeometry на PlaneBufferGeometry, но это вызвало другие ошибки в моем коде, с которыми я не хочу сейчас разбираться. Также я в настоящее время не беспокоюсь о памяти, в настоящее время мне просто нужно иметь рабочую (стабильную или нестабильную) версию моего проекта, работающую через пару дней, чтобы представить моему боссу.
Я не уверен, можно ли отключить журнал, но, вероятно, так и должно быть, поскольку вы не захотите этого в производственных сборках. (Может быть, минификаторы позаботятся об этом - не знаю)
В качестве обходного пути вы можете переопределить функцию console.log
при загрузке сеток, а затем сбросить ее, например:
var oldLogFunction = console.log;
console.log = function(){}; // noop
// ... load meshes
console.log = oldLogFunction; // reset console.log
// ... perform debugging
Это хорошо работает, просто обратите внимание, что в данном случае это console.info :)
Я согласен с тем, что вы говорите о производстве. Я рассказал своему партнеру по этому проекту, что происходит, и он был удивлен, что нет возможности отключить сообщения журнала.
+1 к этому. Я работаю над инструментом командной строки, который выводит PNG на стандартный вывод, и перезапись console.log
не проблема, но это немного похоже на бородавку.
Сообщение конкретного У меня есть проблема с этим это одна . Похоже, что в этом конкретном случае будет достаточно добавления в конструктор такой опции, как quiet
. Но, очевидно, лучше иметь что-то более всеобъемлющее, я думаю ...
@crabmusket лично я считаю, что сообщение должно отображаться всегда. Это очень полезно для всех, кто смотрит на ваше приложение, просто взглянув на консоль, созданную с использованием three.js, и ее версию. Считайте это крошечной рекламой, с которой вам придется мириться при использовании этой бесплатной библиотеки 😉
Что касается исходной проблемы, я не думаю, что какие-либо сообщения console.info все равно будут отображаться, так что, возможно, эту проблему можно закрыть? @mrdoob @ Mugen87
См. Обсуждение в https://github.com/mrdoob/three.js/pull/5835.
Я не собираюсь продолжать это обсуждение, потому что думаю, что консенсус достигнут, но я просто скажу:
Это очень полезно для всех, кто смотрит на ваше приложение, просто взглянув на консоль, созданную с использованием three.js, и ее версию.
Я использую Vue, Moment, jQuery, Bootstrap, и никто из них не считает необходимым записывать обязательные сообщения в консоль.
Самый полезный комментарий
Я не собираюсь продолжать это обсуждение, потому что думаю, что консенсус достигнут, но я просто скажу:
Я использую Vue, Moment, jQuery, Bootstrap, и никто из них не считает необходимым записывать обязательные сообщения в консоль.