Базовое равенство строк JavaScript не удалось в Gulp

У меня есть это задание глотка

gulp.src([`../../**/*.js`].concat(dontCheck.map(p => '!../../' + p)))
    .pipe(gulpPrint(path => {
        let adjusted = path.replace('..\\..\\', '').replace(/\\/g, '/');

        let target = 'account/account.js';
        if (adjusted == target){
            console.log('FOUND');
        } else {
            console.log('NOT FOUND', '|' + target + '|', '|' + adjusted + '|', String(target) == String(adjusted), typeof target, typeof adjusted);
        }

И я получаю этот сводящий с ума вывод

Почему эти строки не совпадают? Есть ли adjusted есть другая кодировка Unicode? Если так, как мне примирить это?

1 ответ

Решение

Если вы не сделали что-то, чтобы выделить для нас вывод console.log, похоже, что adjusted завернут в последовательность управления цветом, например \e[31m,

Этот ответ может помочь, который предоставляет это регулярное выражение для замены управляющих последовательностей:

/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g
Другие вопросы по тегам