Я сталкиваюсь с некоторыми странными проблемами при совместной работе gulp-sourcemaps и gulp-uglify, в основном мы используем gulp-uglify для минимизации нашего кода и gulp-sourcemaps для создания исходной карты проекта для отладки JS код на консоли.
Итак, сегодня, отлаживая, я заметил, что Google Chrome, похоже, выполнял оператор if, даже если я знал, что условие не вернуло истинное значение, у меня было if, как это if ('string-A' === 'string-B') {image.onerror = null} Итак, я добавил точку останова в назначении ошибки, и chrome приостановил там мой код. Очень странный случай.
Я начал отладку, поэтому я изменил исходный код минимизированного файла, чтобы проверить, вызывает ли минимизированный код проблему это сокращенный блок кода:
l === i && i! == t? о? a.sr c = n: e (a): l === n? e (a): l === t && (a.onerror = null)
Я не вижу там никаких проблем, я проверил с некоторыми новыми точками останова и выделил часть код никогда не выполняется, потому что l === t возвращает false, как и должно быть. Затем я снова использовал исходный файл только для того, чтобы убедиться, что значение onerror никогда не менялось для изображения, как я думал, поэтому кажется, что это ошибка с ядром Chrome при попытке сопоставить минимизированный файл с источником. Кажется, что Chrome останавливается в случайном месте.
Есть ли способ избежать этих проблем? Я спрашиваю об этом, потому что мы потратили много времени на тестирование, и на самом деле результат такой же, мы только что подтвердили, что это не проблема с нашей стороны.