Less.js: أرقام الأسطر الخاطئة في محددات خريطة المصدر - يُبلغ الكروم عن موضع العنصر الأول وليس العنصر الأخير

تم إنشاؤها على ١٤ أغسطس ٢٠١٣  ·  5تعليقات  ·  مصدر: less/less.js

سوف يشير المصغر التالي إلى السطر html>body form على الرغم من أن التعريف كان صريحًا لـ input .
ومع ذلك ، قد يعمل هذا بشكل صحيح عند استخدام عامل التشغيل & ، ولكن من الصعب تغيير كل التعريفات الأقل مثل هذا

html>body form  {

    input {
        color: cyan !important;
    }

    & input {
        background: yellow !important;
    }
}

line bug

أعتقد أن هذا يمكن أن يكون نطاقًا للمشغلين الآخرين المدعومين بأقل من ذلك ، ولكن ليس أقل من ذلك ، يجب دعم أي مشغلين فارغين أو أي مشغلين بشكل صحيح من خلال خرائط المصدر ، لأنه صالح أقل من التعليمات البرمجية.

bug medium priority

التعليق الأكثر فائدة

ملاحظة: الحل البديل من # 1715 هو التحكم والنقر فوق الخاصية وليس المحدد.
ملاحظة 2: لن يقوم الكروم بإصلاحه ، لذا يجب معالجته بأقل من ذلك ، وربما يتم العثور على فهرس العنصر الأخير؟ في محدد

ال 5 كومينتر

أعتقد أن السبب في ذلك هو أن القليل من العلامات تشير في الواقع إلى أجزاء مختلفة من المحددات قادمة من أماكن مختلفة .. لذا فهي تخبر chrome أن الجزء الأول من المحدد يأتي من السطر 3 والجزء الثاني من السطر 9. عندما يستخدم القليل & إنه يكسر التنفيذ ويخبر الكروم بشكل أقل عن الجزء الثاني.

ومع ذلك ، نظرًا لأن المعلومات الموجودة في الكروم سطحية للغاية على أي حال ، فمن المحتمل أن نعرض المعلومات فقط من الجزء الأخير من المحدد.

هذا الخطأ موجود الآن في أخطاء الكروم: https://code.google.com/p/chromium/issues/detail؟id=287382

note to self: يمكن حلها عن طريق تجاوز معلومات الملف قبل إخراج كل مسار. تحتاج أيضًا إلى التفكير في الامتدادات حيث يتم استبدال المحدد الأوسط - يتم إنشاء المسار بسبب الامتداد لذا فإن الامتداد هو الشيء المهم.

بمناسبة هذا المنخفض الآن كما يمكنك التمرير دائما إلى أسفل .. على الأقل تعطيك مؤشر .. ما لم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 يستخدم مولد خريطة مصدر مختلف). لم يحل بناء البلع المشكلة أيضًا.
عندما أقوم بتجميع نفس الكود باستخدام sass ، فإن خريطة المصدر التي تم إنشاؤها تشير بشكل صحيح إلى 4 في كل من الكروم و FF.

من ناحية أخرى ، يحتوي الأقل على أرقام الأسطر الصحيحة في وقت ما (مع - أرقام الأسطر = التعليقات):

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

نعم ، ولكن ليس فقط من أجل "القواعد المتداخلة"

إذا أدخلت أي شيء في قاعدة كبيرة ، فستشير جميع خطوط خريطة المصدر إلى قمتها.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات