Less.js: ์†Œ์Šค ๋งต ์„ ํƒ๊ธฐ์˜ ์ž˜๋ชป๋œ ์ค„ ๋ฒˆํ˜ธ - ํฌ๋กฌ์€ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ โ€‹โ€‹๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2013๋…„ 08์›” 14์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: less/less.js

์ •์˜๊ฐ€ input ๋Œ€ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜๋˜์—ˆ์ง€๋งŒ ๋‹ค์Œ less ๋Š” html>body form ํ–‰์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ & ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ ์ด์™€ ๊ฐ™์ด ๋” ์ ์€ ์ •์˜๋ฅผ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์€ ๊ณ ํ†ต์ž…๋‹ˆ๋‹ค.

html>body form  {

    input {
        color: cyan !important;
    }

    & input {
        background: yellow !important;
    }
}

line bug

๋‚˜๋Š” ์ด๊ฒƒ์ด less์—์„œ ์ง€์›๋˜๋Š” ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ž๊นŒ์ง€ ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

bug medium priority

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ฐธ๊ณ : #1715์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์„ ํƒ๊ธฐ๊ฐ€ ์•„๋‹Œ ์†์„ฑ์„ ์ œ์–ดํ•˜๊ณ  ํด๋ฆญํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ฐธ๊ณ  2: ํฌ๋กฌ์€ ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ฏ€๋กœ ๋” ์ ์€ ์‹œ๊ฐ„์— ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์ƒ‰์ธ์„ ์ฐพ๋Š” ๊ฒƒ์ผ๊นŒ์š”? ์„ ํƒ๊ธฐ์—์„œ

๋ชจ๋“  5 ๋Œ“๊ธ€

๋‚˜๋Š” ์ด๊ฒƒ์ด less๊ฐ€ ์‹ค์ œ๋กœ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์˜ค๋Š” ์„ ํƒ๊ธฐ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์„ ํ‘œ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํฌ๋กฌ์—๊ฒŒ ์„ ํƒ๊ธฐ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ 3ํ–‰์—์„œ, ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ 9ํ–‰์—์„œ ์˜จ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. 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;
}
}

๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ํฌ๋กฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒŒ์ด์–ด ํญ์Šค์—์„œ๋„ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ gulp-less ๋ฐ gulp-sourcemap์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค(gulp-sourcemap์ด ๋‹ค๋ฅธ ์†Œ์Šค๋งต ์ƒ์„ฑ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋จ). ๊ฟ€๊บฝ ๋นŒ๋“œ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
sass๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•  ๋•Œ ์ƒ์„ฑ๋œ ์†Œ์Šค ๋งต์€ ํฌ๋กฌ๊ณผ FF ๋ชจ๋‘์—์„œ 4๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด 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 ๋“ฑ๊ธ‰