Переменные отладки Firefox Developer, помеченные как неопределенные при использовании исходных карт

Я создал несколько исходных карт для моих мини-файлов javascript с помощью Gulp, gulp-sourcemaps, Babel и uglify:

gulp.task('babel-transpile', ['clean-js'], function () {
    return gulp.src([
                'wwwroot/js/**/*.js',
                'wwwroot/js/**/*.jsx'
            ])
        .pipe(sourcemaps.init())
        .pipe(babel())
        .pipe(uglify())
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('wwwroot/js'));
});

Я могу разместить точки останова в исходном коде в браузере, и он сработает. Но всякий раз, когда я навожу курсор на переменную, она сообщается как неопределенная. Фактическая минифицированная переменная не может быть, потому что код работает нормально.

Согласно https://hacks.mozilla.org/2018/05/debugging-modern-web-applications/ это должно быть возможно? Я делаю что-то неправильно?

Я использую Firefox Developer 72.0b5 (64-разрядная версия).


person zola25    schedule 11.12.2019    source источник


Ответы (1)


Оказывается, если не запустить задачу uglify(), она заработает. Удалив эту строку и повторно запустив задачу gulp, я могу отлаживать исходный код в браузере и видеть значения переменных.

Кажется, если вы запустите минификацию javascript с помощью gulp-uglify или gulp-terser, вы не сможете просматривать переменные в отладчике. Это та же проблема в chrome переменные отладки, не работающие с исходными картами gulp + уродовать

person zola25    schedule 11.12.2019