Less.js: Неправильные номера строк в селекторах исходной карты - хром сообщает положение первого элемента, а не последнего элемента

Созданный на 14 авг. 2013  ·  5Комментарии  ·  Источник: less/less.js

Следующее меньше будет указывать на строку html>body form хотя определение было явно для input .
Однако это будет работать правильно при использовании оператора & , но изменить все определения less, подобные этому, очень сложно.

html>body form  {

    input {
        color: cyan !important;
    }

    & input {
        background: yellow !important;
    }
}

line bug

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

bug medium priority

Самый полезный комментарий

Примечание: обходной путь с # 1715 заключается в том, чтобы управлять и щелкать свойство, а не селектор.
примечание 2: хром не исправит это, поэтому его нужно будет решить меньше, возможно, найдя последний индекс элемента? в селекторе

Все 5 Комментарий

Я думаю, это потому, что less на самом деле размечает разные части селекторов, поступающих из разных мест ... поэтому он сообщает chrome, что первая часть селектора происходит из строки 3, а вторая часть - из строки 9. Когда less использует & это фактически нарушает реализацию, а less сообщает хрому только о второй части.

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

эта ошибка теперь находится в ошибках хрома: https://code.google.com/p/chromium/issues/detail?id=287382

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

отметив этот минимум как сейчас, так как вы всегда можете прокрутить вниз .. это, по крайней мере, дает вам указатель .. если только @dotnetwise не имеет причины, по которой это вызывает большую проблему.

Примечание: обходной путь с # 1715 заключается в том, чтобы управлять и щелкать свойство, а не селектор.
примечание 2: хром не исправит это, поэтому его нужно будет решить меньше, возможно, найдя последний индекс элемента? в селекторе

Я протестировал пример кода из: http://stackoverflow.com/questions/27983598/css-source-maps-doesnt-report-the-correct-line-when-using-nested-selectors

#main {
max-width: 500px;
color: white;
.sub-container {
color: blue;
}
}

Я обнаружил, что проблема возникает не только в Chrome, но и в Firefox. Затем я попытался скомпилировать код с помощью gulp -less и gulp-sourcemap (где я ожидаю, что gulp-sourcemap использует другой генератор исходных карт). Сборка gulp тоже проблему не решила.
Когда я компилирую тот же код с помощью sass, сгенерированная исходная карта правильно указывает на 4 как в chrome, так и в FF.

С другой стороны, Less в какой-то момент имеет правильные номера строк (с --line-numbers = comments):

/* line 1, /t.less */
#main {
  max-width: 500px;
  color: white;
}
/* line 4, /t.less */
#main .sub-container {
  color: blue;
}

Да, но только не для "вложенных правил"

Если вы вложите что-либо в большое правило, то все строки исходной карты будут указывать на его вершину.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги