Проблемы с точкой останова в Chrome при использовании исходных карт (gulp-sourcemaps)

Я столкнулся с некоторыми странными проблемами с gulp-sourcemaps и gulp-uglify, работающими вместе, в основном, мы используем gulp-uglify для минимизации нашего кода и gulp-sourcemaps для создания исходной карты проекта для отладки кода JS на консоль.

Итак, сегодня во время отладки я заметил, что Google Chrome, похоже, выполнял оператор if, даже если я знал, что условие не возвращает истинное значение, у меня было такое if, как это if ('string-A' === 'string -B') { image.onerror = null Итак, я добавил точку останова при назначении onerror, и хром приостановил там мой код. Очень странный случай.

Вы видите э-э

Я начал отладку, поэтому я изменил исходный код для мини-файла, чтобы проверить, не вызывает ли минимизированный код проблему, это блок минимизированного кода:

л === я && я !== т ? о ? a.src = n : e(a) : l === n ? e(a) : l === t && (a.onerror = null)

Я не вижу здесь никаких проблем, я проверил несколько новых точек останова, и выделенный фрагмент кода никогда не выполняется, потому что l === t извлекает false, как и должно быть. Затем я снова использовал исходный файл, чтобы убедиться, что значение onerror никогда не менялось для изображения, как я думал, поэтому, похоже, это ошибка ядра Chrome при попытке сопоставить уменьшенный файл с источником. Кажется, что Chrome останавливается в случайном месте.

Есть ли способ избежать этих проблем? Я спрашиваю об этом, потому что нам потребовалось много времени на тестирование, и на самом деле результат тот же, мы просто подтвердили, что это не проблема на нашей стороне.


person Alfredo Esteban Hernndez Dvalo    schedule 29.01.2020    source источник


Ответы (1)


В моем случае у нас были некоторые комментарии, которые не были удалены ранее из исходного кода, поэтому это была причина, по которой исходный файл и минифицированный файл не совпадали.

person Alfredo Esteban Hernndez Dvalo    schedule 04.02.2020