Команды Javascript выполняются только в развернутом виде
-
03-07-2019 - |
Вопрос
Я хочу войти в консоль, когда использую несвернутые файлы JavaScript.
Комментарии выносятся уже тогда, когда я сворачиваю JavaScript.Мне интересно, есть ли способ написать команду, которая не закомментирована, но все равно будет удалена, когда я сверну файл JavaScript.
Решение
Если ваша цель — просто уменьшить размер js, вы можете разделить функции регистрации в отдельный файл.
В ваш «основной» js добавьте функцию function doLogging(object){}
затем в отдельном файле функций регистрации замените функцию на function doLogging(object){/*your logging code*/};
Просто не забудьте включить основной js перед записью js.Когда вы минимизируете, просто закомментируйте теги сценария журналирования из html.Таким образом, у вас будет только одно (или несколько) пустых определений функций в минифицированном js и одна строка кода, вызывающая эти функции для каждого действия входа в систему.
Другие советы
Думаю, я был бы очень расстроен, если бы минимизатор Javascript изменил поведение моего кода на основе какой-нибудь забавной/умной/странной конструкции кода.Как можно быть уверенным, что конструкция кода не создана намеренно?
Как было предложено, создайте переменную, которая отключает ведение журнала.Затем в рамках сценария минимизации или пакетного задания вы можете перевести эту переменную в состояние без регистрации с помощью sed (например) перед минимизацией.
Если все, что вы используете для минимизации вашего JS, не поддерживает условные операторы, я не думаю, что вы сможете это сделать.
Почему бы просто не регистрировать события, если установлена определенная переменная?