๋ค์์ ์ ๊ณตํ๊ธฐ๋ง ํ๋ฉด ํด๋ ์์ ๋ชจ๋ ํ์ผ์ ๊ฐ์ ธ์ฌ ์ ์๋ค๋ฉด ๋งค์ฐ ์ ์ฉํ ๊ฒ์
๋๋ค.
@import ํด๋ ์ด๋ฆ
ํ์ฌ ๋ด ์์คํ ์ ํด๋์ ๋ชจ๋ ํ์ผ์ ๊ฐ์ ธ์ค๋ ์ถ๊ฐ sass ํ์ผ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ณ๋์ ๊ฒช๊ณ ์์ต๋๋ค. ์ ๋ง ๊ทธ๋ฐ๊ฑด ์๋๊บผ๋ผ ํ์ ํฉ๋๋ค...
๊ฐ์ฌ ํด์!
๋๋ ์ด๊ฒ์ ์ ์ฉ์ฑ์ ํ์์ ์ด๋ค. ๋ชจ๋ ๊ด๋ จ ํ์ผ์ ์๋์ผ๋ก ๋์ดํด์ผ ํ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ๋ถ๋ด์ค๋ฌ์ด ์ผ์ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ํ ์กด์ฌํ๋ค๊ณ ์์ํ๋ ํ์ผ์ด ์์ ๋ ์ค์ ์ปดํ์ผ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ ์ํ์ด ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. ๋์ ์คํ์ผ์ด ์์๋ก ์ฌ๋ผ์ง๋๋ค.
๋๋ ๋น์ ์ ์ฃผ์ฅ์ ์ดํดํ์ง๋ง ์ด๊ฒ์ด ํ์ํ ๋ค๋ฅธ ์ ํ์ ์ํฉ์ ๋ณด๊ณ ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ํ์ฌ 60๊ฐ ์ด์์ Sass ํ์ผ์ด ์๋ ํด๋๊ฐ ์์ต๋๋ค. @import ํด๋ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ๊ฐ ํ์ผ์ ๊ฐ๋ณ์ ์ผ๋ก ๊ฐ์ ธ์ค๋ ํ์ผ์ ์ ์ง ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
๊ฐ ํ์ผ์ ๊ฐ๋ณ์ ์ผ๋ก ํฌํจํ๋ ๋ฐ์๋ ๋ง์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฒซ์งธ, ํ์ผ์ ํฌํจํ๋ ๊ฒ์ ์์ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ํ์๋์ง ์์ต๋๋ค. ๋ค์์ผ๋ก Sass์์ ์์ ํ๋ ๊ฐ๋ฐ์ ํ์ด ์๋ ๊ฒฝ์ฐ ํด๋์ ํ์ผ์ ๋ง๋ ํ ์๋์ผ๋ก ํ์ผ์ ๊ฐ์ ธ์์ผ ํ๋ค๋ ์ ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ์ฌ๋๋ค์ด ์ณ์ ์ผ์ ํ๋๋์ ๋ฐ๋ผ ๊ฒฐ๊ตญ ๋ฌด๋์ง ๊ฒ์ ๋๋ค.
๋ํ ํด๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด "์ข์ ๊ฒ"์ด๋ผ๋ ์ฐ์ ์์๊ฐ ์์ต๋๋ค. Java์ import ๋ฌธ์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ํจํค์ง ๋๋ ํด๋น ํจํค์ง์ ํน์ ํด๋์ค๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
๋์ผํ ๊ฐ์ค์น์ ์ ๋ ํฐ๊ฐ ๋ฌธ์ ์์์ ๋ฐ๋ผ ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ ์์ ์์๊ฐ ์ค์ํฉ๋๋ค. ๊ธ๋ก๋น์ ํ์ผ์ ์ถ๊ฐํ๋ฉด ์ ํ๊ธฐ์ ์ ์ญ ํด์๋ ์์๊ฐ ์๊ธฐ์น ์๊ฒ ๋ณ๊ฒฝ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค.
์ด๋ฌํ ์์ ๋ฌธ์ ๋ ์ฝ๋์ ์์ผ๋ฉฐ ๋ฃจ๋น์ ๊ฐ์ ์์น์๋ ๊ทธ๋ฌํ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
Sass ์ฝ์ด ๊ฐ์ ธ์ค๊ธฐ ๋ฉ์ปค๋์ฆ์ ๋ณ๊ฒฝํ์ง ์๊ณ Sass์์ ์ด ์์ ์ ์ํํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋์ง ์๊ณ ์ถ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด sass๋ฅผ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์ ๊ฐ์ธ์ด ์ ์ ํ๋ค๊ณ ์๊ฐํ๋ ๋๋ก ์์ฒด ๊ธ๋ก๋น ์์คํ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
<strong i="8">@import</strong> file-list("foo/*.sass");
์ฐ๋ฆฌ๋ @import
๋ํ ํน์ ๊ตฌ๋ฌธ ๋ถ์ ๋
ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋ฐฉ์งํ์ง๋ง ๋ ์ด์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
์ง์ ํ ๋์ ๊ฐ์ ธ์ค๊ธฐ(์: ํจ์๋ฅผ ํตํ)๋ฅผ ํ์ฉํ ๋์ ๋ฌธ์ ๋ ๋ฌธ์์ ์ข ์์ฑ ๊ตฌ์กฐ๋ฅผ ๋์ ์ผ๋ก ํ์ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํด์ง๋ค๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์บ์ฑ๊ณผ ์ ํ์ ์ปดํ์ผ์ด ํจ์ฌ ๋ ์ ์ฉํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์์ ๋ฌธ์ ์ ๊ฒฝ์ฐ ํญ์ ํ์ผ์ ์ํ๋ฒณ์์ผ๋ก ์ ๋ ฌํ๊ฑฐ๋ ๊ฒฐ์ ์ (์์์ ์ด๊ธด ํ์ง๋ง) ์์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ผ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋๋ฉด ์์๊ฐ ๋ณ๊ฒฝ๋๊ณ ๊ธฐ๋ฅ์ด ์ค๋จ๋ ์ ์๋ค๋ ๋ฌธ์ ๊ฐ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค.
์๋ง๋ globbing์ ํตํ ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค์ฒฉ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํจ์ ์๋ฏธํฉ๋๋ค.
์ ์๊ฐ์๋ ํ์ผ์ ์ ์ฒด ๋๋ ํ ๋ฆฌ ํธ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ช ์์ ๊ฐ์ ธ์ค๊ธฐ ์ ๊ทผ ๋ฐฉ์๋ณด๋ค ์ฝ๊ฐ๋ง ์ ์ฉํ๋ฉฐ ์ฌ์ฉ์๊ฐ ์ฐ์ ์์ ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํ๋๋ก ๊ถ์ฅํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ค๋ฉด ๋๋ ํ ๋ฆฌ ์์ค์์๋ณด๋ค ๋ ์ผ๋ฐ์ ์ธ ์ฉ๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์ข ์์ฑ ๊ทธ๋ํ ์ธ๋ถ์ ์๊ณ sass ์์ง์ ๋ํ ๋จ์ผ ๊ฐ์ ธ์ค๊ธฐ๋ก ๋ํ๋๋ glob์ ๋์ ํ๋ ๊ฒ์ glob๊ณผ ์ผ์นํ๋ ์ ์ข ์์ฑ์ด ๋ํ๋ ๋ ํ์ผ์ ๋ฌดํจํํ๋ ๊ฒ์ด ๋ ์ด๋ ต๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํด๋๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๊ฐ์ ธ์ค๋ ํ์ผ์ ์์๊ฐ ๋ชจํธํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๊ฒ์ธ์ง ์ฌ๋ถ๋ ์ฌ์ฉ์๊ฐ ๊ฒฐ์ ํด์ผ ํฉ๋๋ค. ์ผ๋ถ ์ํฉ์๋ ์ ํฉํ์ง๋ง ๋ค๋ฅธ ์ํฉ์๋ ์ ํฉํ์ง ์์ต๋๋ค. ํด๋์ ๋ด์ฉ์ด ๋์ผํ ์์๋ฅผ ๋์์ผ๋ก ํ์ง ์๋ ์์คํ ์ ์์ํ๋ ๊ฒ์ ํ์คํ ๊ฐ๋ฅํฉ๋๋ค(๋ด ๊ฒ์ ๊ทธ๋ ์ง ์์).
ํน์ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ฒ๋ผ ์๋ํฉ๋๋ค. ์ผ๋ถ ์ํฉ์๋ ์ ํฉํ์ง๋ง ๋ค๋ฅธ ์ํฉ์๋ ์ ํฉํ์ง ์์ต๋๋ค.
์ ํ์ ๊ฐ๋ฐ์์๊ฒ ๋ฌ๋ ค ์์ต๋๋ค.
์ฌ์ฉ์๊ฐ ์์์ ์์กดํ๊ณ ๊ทธ๊ฒ์ ์์ง ๋ชปํ๋ ์คํ์ผ์ํธ๋ฅผ ๊ฐ๋ ๊ฒ์ ๋๋ฌด ์ฝ์ต๋๋ค. ๋ฌด์์ด๋ ์ฌ์ ๋ ฌ์ ์ ๋ฐํ๊ณ ์ถ์ ํ๊ธฐ ๋งค์ฐ ์ด๋ ค์ด ๋ ์ด์์ ๋ฒ๊ทธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๋ฌํ ๋ฌธ์ ์ ๋ ธ์ถ๋ ๊ฒ์ด๋ผ๋ ์ ์ ์ถฉ๋ถํ ๋ช ํํ์ง ์์ต๋๋ค. ํ์ผ ์ด๋ฆ์ ํตํ ์ฃผ๋ฌธ์ ์ด์ ๋ํ ์ถฉ๋ถํ ํด๊ฒฐ์ฑ ์ด ๋ ์ ์์ผ๋ฏ๋ก ์ฌ๊ฐํ ์ฅ์ ๋ ์๋๋๋ค.
๋ด๊ฐ ๊ณ ๋ คํ๋ ํ์ฅ์ ํ์ค ํ์ผ ๊ธ๋ก๋ธ๋ฅผ ํ์ฉํ ๊ฒ์
๋๋ค -- ์๋ง๋ Dir.glob
์ง์ํ๋ ๊ฒ์
๋๋ค. ์ด๊ฒ์ ์ปดํ์ผ ํ์์ ํด๊ฒฐํ ์ ์์ผ๋ฉฐ ํฉ๋ฆฌ์ ์ธ ์์ค์ ๋ฅ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
๋๋ ์ฌ์ ํ ์ ํธ๋ฆฌํฐ์ ๋ํด ํ์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
Dir.glob
๋ฅผ ํตํ ์ฃผ๋ฌธ์ ํ์ผ ์์คํ
์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ ํ๋ซํผ์ ๋ฐ๋ผ ๋ณ๊ฒฝ๋ ์ ์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ ๋ ์ค์ ๋ก Mac๊ณผ Linux์ ์ด๋ฌํ ์ฐจ์ด์ ์ ํน ๋น ์ ธ ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ฒ ๋๋ฉด ์ ๋ฌธ์ํ๋๊ณ ์ฝ๊ฒ ์ดํดํ ์ ์๋ ์ ๊ทผ ๋ฐฉ์(์: downcased ์ ๋ ฌ)์ ๋ฐ๋ผ ๋ชฉ๋ก์ ์ ๋ ฌํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋๋ ๋ํ ์ฌ์ ํ ์ด ๊ธฐ๋ฅ์ ๋ํด ์ฝ๊ฐ์ ๊ธฐ๋๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ๋์นจ๋ฐ์ด ์ฌ์ฉํ๋ ์์ ๋ฐฉ์์ ์ค์ ๋ก ์ ์ง ๊ด๋ฆฌ ๋ถ๋ด์ด ๋์ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์คํ ์ผ๋ฐ์ ์ผ๋ก ์์ฒญ๋๋ ๊ธฐ๋ฅ์ ๋๋ค. ๋ฉ์ผ๋ง ๋ฆฌ์คํธ์ ํธ์ํฐ์ 4~5๋ฒ ์ ๋ ์ฌ๋ผ์จ ๊ฒ ๊ฐ์์.
์ฐ๋ฆฌ๋ ํ์คํ ์ด๋ป๊ฒ๋ ํ์ผ์ ๊ฒฐ์ ์ ์ผ๋ก ์ ๋ ฌํ ๊ฒ์ ๋๋ค. Upcased vs. downcased ์ ๋ ฌ์ ํฅ๋ฏธ๋ก์ด ์ง๋ฌธ์ ๋๋ค... ์ฐ๋ฆฌ๋ ์๋ง๋ downcased๋ฅผ upcased๋ก ๊ฒฐ์ ํด์ผ ํ ๊ฒ์ ๋๋ค(๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ ํ์ผ ์์คํ ์ ๋ํ ์ฐ๊ฒฐ์ ํ์ฉํ๊ธฐ ๋๋ฌธ์).
๋๋ ๋์ํ๋ค. Dir.glob์ ์ง์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ ์ ์๋ ๊ฒ์ ๋ฐ๋ํฉ๋๋ค. ์ ๋ง ๋ถํ์ํ ๊ธฐ๋ฅ ๊ฐ์ต๋๋ค. ๋น์ ์ ๊ทธ ์ ๋์ ํต์ ๋ ฅ์ ๊ฐ๋ ๊ฒ์ด ์ ๋ฆฌํ ์๋๋ฆฌ์ค๋ฅผ ์๊ฐํด ๋ผ ์ ์์ต๋๊น?
๋ค์ ๋ ๊ฐ์ง ์ต์
์ผ๋ก ์ถฉ๋ถํ ๊ฒ ๊ฐ์ต๋๋ค.
- @import๋ฅผ ์ฌ์ฉํ์ฌ ์ฒด๋ฆฌ ์ ํ ํ์ผ
- @import folder_name์ ์ฌ์ฉํ์ฌ ์ ์ฒด ๋๋ ํ ๋ฆฌ ๊ฐ์ ธ์ค๊ธฐ
๋ํ ์ํ๋ฒณ์์ด ์ ์๋ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ฌธ์ํ๋์๋์ง ํ์ธํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
<strong i="5">@import</strong> dir
๋ฅผ ํตํด ๋๋ ํ ๋ฆฌ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๊ฐ๋ณ ํ์ผ์ ๊ฐ์ ธ์ค๊ธฐ์ ๋๋ฌด ๋ชจํธํฉ๋๋ค. ์ต์ํ *
๊ธ๋ก๋ธ๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
๊ทธ๋๋ ํ์ ์ด ์์ง ์์ต๋๋ค.
ํ์ด์ง์ ๋ํด ๋ค๋ฅธ "์คํ์ผ"์ด ์๋ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค. ์์:
์ผ๋ฐ/ (์ฌ๊ธฐ์ xx sass ํ์ผ)
style1/ (์ฌ๊ธฐ์ ์ผ๋ฐ ์คํ์ผ์ ์คํ์ผ์ ์ถ๊ฐ/๋ฎ์ด์ฐ๋ xx sass ํ์ผ)
style2/ (์ฌ๊ธฐ์ ์ผ๋ฐ ์คํ์ผ์ ์คํ์ผ์ ์ถ๊ฐ/๋ฎ์ด์ฐ๋ xx sass ํ์ผ)
style1.sass (๊ฐ๋จํ: @import generic/_, style1/_)
style2.sass (๊ฐ๋จํ: @import generic/_, style2/_)
์ผ๋ฐ ๋๋ ํ ๋ฆฌ์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ ธ์ค๋ _generic.sass๋ฅผ ๊ฐ์ง ์ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋๋ ๊ทธ๋ค์ด ํด์ผ ํ๋ ๋งํผ ํ ์ ์๋ ๊ฒ๊ณผ ํ ์ ์๋ ๊ฒ์ ๊ดํ ๊ฒ์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ์คํ์ผ์ํธ์ ์์๋ ์ค์ํ๋ฏ๋ก ์ฌ์ฉ์๊ฐ ๊ทธ๊ฒ์ ๋ํด ์๊ฐํ์ผ๋ฉด ํฉ๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ์ ์ง mixin๊ณผ ๋ณ์๋ฅผ ์ ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์คํ์ผ ์ํธ๋ฅผ ๋ฒ์ํ๋ ๋ฑ์ ์์์ ๋ฌด๊ด ๊ฒ์ ์ฌ์ค์ ๋๋ค -ํ์ง๋ง ์๋ชป ์ฌ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ ๊ณต์ ๋ํด ์ฐ๋ คํ๊ณ ์๋ค.
"๋ฒ์๊ฐ ์ง์ ๋ ์คํ์ผ์ํธ"๋ฅผ ์ ์ํ์๊ฒ ์ต๋๊น?
๋๋ถ๋ถ ๋๋ ๋ชจ๋ ์ ํ๊ธฐ๋ฅผ ์ค์ฒฉํ๋ ์คํ์ผ์ํธ์
๋๋ค. ์: body.foo
๊ทธ๊ฒ๋ค์ ์์ ๋
๋ฆฝ์ ์ด๋ผ๊ณ ๋ณด์ฅ๋์ง ์์ต๋๋ค. ๋ค๋ฅธ ๊ณณ์ ๋ค๋ฅธ ์คํ์ผ์ํธ๋ body.foo ...
๋๋ ๋ ๋์ ํน์ด์ฑ์ ๊ฐ์ง ๋ค๋ฅธ ๊ฒ์ ์ ์ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ํ์ผ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฆฌ๋์ง ์์๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก ์๋ํ๋ ํ๋ ์์ํฌ๊ฐ ์๋ ๊ฒ์ ๋๋ค.
์ฌ๋๋ค์ด CSS๋ฅผ ๋ง์น ์ ์๋ ๋ฐฉ๋ฒ์ ๋ง์ต๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๋ค์๊ฒ ์ด ์๋ฃจ์ ์ ์ ๊ณตํ๊ณ ๊ฐ๋ณ ํ์ผ์ ๊ฐ์ ธ์ค๋ ๊ฒ๋ณด๋ค ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง ์ค๋ช ํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ๊ตฌํํ์ง ์์์ผ๋ก์จ ์ด ์์
์ ์ํํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ ๋ฒ์๊ฐ ์ง์ ๋ ์คํ์ผ์ํธ๋ฅผ ๊ตฌํํ๋ ๋ฐ ๋ค์ ๋ ๊ฐ์ง ์ ํ๊ถ์ด ์ฃผ์ด์ง๋๋ค.
1) ์๋)์ด ์์ ์ ๋น์ ์ด ํ์ผ์ ๋์น ๋ ๋น์ ์๊ฒํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์์๋ค (๊ฐ๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ํ์ผ์ ๊ฐ์ ธ์ต๋๋ค
2) ์ด๋ฌํ ํ์ผ์ ๋์ ์ผ๋ก ์ถ๊ฐํ๋ ๋น๋ ์์คํ
์ ๊ตฌํํฉ๋๋ค(๋์ผํ ๊ฒ์ ๊ตฌํํ๋ ์ฌ๋ฌ ์ฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ญ๋น์
๋๋ค).
๋ฒ์๊ฐ ์ง์ ๋ ์คํ์ผ์ํธ์ ๋ชจ๋ ์์ ์ข ์์ฑ์ด ๋ฌธ์ ๋ถ๋ฆฌ๊ฐ ์ ๋๋ก ์ด๋ฃจ์ด์ง์ง ์์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒ์ ์๋๋๋ค. ๊ณ ๋ คํ๋ค:
body.foo .baz {
color: blue; }
body.bar .baz {
color: red; }
์ด ์คํ์ผ์ํธ๋ ์ ๊ตฌ๋ถ๋์ด ์์ง๋ง ์ฌ์ ํ ์์์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
์ด์จ๋ ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฌ๋์ด ์ํ์ ์ดํดํ๊ธฐ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค๋ ์๊ฐ์ ์๋ชป๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์ฌ๋์ด ์คํ์ผ์ํธ๋ฅผ ๊ฐ์ ธ์ฌ ์์๋ฅผ ์ดํดํ๋๋ก ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ๋ ๊ฒ์ ๋๋ค.
๋์ฒด๋ก ๋ฒ์๊ฐ ์ง์ ๋ ์คํ์ผ์ํธ๋ ์์์ ๊ตฌ์ ๋ฐ์ง ์์ง๋ง ๊ด์ฌ์ฌ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋ถ๋ฆฌ๋ ๊ฒฝ์ฐ์๋ ์์๊ฐ ์ค์ํ ๊ฒฝ์ฐ๊ฐ ๋ ์ ์์ต๋๋ค.
์ฐพ์ ์ ์๋ ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์กฐ์ฉํ ๋ฌด์ํ๋ ๊ฒ์ sass3์์ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. CSS ๊ฐ์ ธ์ค๊ธฐ๋ง ์๋์ผ๋ก ๋ฌด์๋ฉ๋๋ค.
์ฝ 60๊ฐ์ ๋ค๋ฅธ ํ์ผ์ ๊ฐ์ ธ์ค๋ ํ๋์ sass ํ์ผ์ด ์์ต๋๋ค. ํ์ผ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋ ๋ณ๊ฒฝํ๊ณ ํ ๋ ํญ์ ์์๋ฅผ ์๊ฐํฉ๋๋ค. ๋์๊ฒ ๋ถ๋ด์ผ๋ก ๋ค๊ฐ์จ ์ ์ ํ ๋ฒ๋ ์์๋ค. ์คํ๋ ค ๊ผญ ํ์ํ ๋จ๊ณ์๋ค.
๋ด ๊ฐ์ ธ์ค๊ธฐ๋ฅผ ์ฐพ์ ์ ์์ผ๋ฉด(๋๋ ํญ์ ๊ฐ์ ธ์ค๊ธฐ์ ๋ํด .sass๋ฅผ ์ง์ ํจ) ํ ์คํธ๊ฐ ์คํจํฉ๋๋ค.
์๋ด์ด ์์ต๋๋ค. ๊ฐ๋ฅํ ํ ๊ฐ๋จํ๊ณ ๋จ์ํ์ง ์์ต๋๋ค.
๋ด ์ง๊ฐ์ ์ด๊ฒ์ด ์ผ์ ๋๋ฌด ๋จ์ํ๊ฒ ๋ง๋ค๊ณ ํ ๋ฒ์ ๋๋ฒ๊น ์ธ์ ์ผ๋ก ์ธํด ๋ชจ๋ ์๊ฐ ์ ์ฝ์ด ์์ค๋๋ค๊ณ ๋งํฉ๋๋ค. ๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ ๋น๋ถ๊ฐ ์ ์ณ ๋๋ ๊ฒ์ ํฌํํฉ๋๋ค. ๋๊ตฐ๊ฐ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ sass ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ํด๋น ์ฌ์ฉ์์๊ฒ ์ด๋ป๊ฒ ์๋ํ๋์ง ๋ณด๊ณ ์ถ์ต๋๋ค.
Richard์ ์์ ์ ๋ถ๋ถ์ด ์์ฑ๋์ง๋ง ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์ถ๊ฐ๋์ง ์์ ๋ ์ค๋ฅ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฌ์ฉํ์ง ์์ ๋ถ๋ถ์ ์ฐพ๊ณ ๊ฒฝ๊ณ ๋ฅผ ์ธ์ํ๋ฉด ์ด๊ฒ์ด ์ํ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์ด๊ฒ์ ๊ณ์ํ๊ณ ๋ซ์ ๊ฒ์ด๋ค.
์ด๋ฐ, ์ง์ฆ๋๋ค... ๋ด ๋ ์ผ์ฆ ์ฑ ์์ฐ์ page_specific/์ด๋ผ๋ ํด๋๊ฐ ์์ต๋๋ค...
์ด๊ฒ๋ค์ ๋ชจ๋ ํฐ ์์ฐ blob์ผ๋ก ์ปดํ์ผ๋์ด์ผ ํ๋ฉฐ, ๊ฐ๊ฐ์ ๋ค์์ผ๋ก ์์ ํ ๋ํ๋ฉ๋๋ค.
body#page1 {}, body#page2 {} ๋ฑ...
๊ทธ๊ฒ๋ค์ด ์์์ ์์กดํ ๊ฐ๋ฅ์ฑ์ ์ ํ ์์ผ๋ฉฐ ์์งํ ์ด ์ ์ฒด๊ฐ "๋น์ ์ ๊ทธ๊ฒ์ ๋์น๊ฒ ๋ ๊ฒ์ ๋๋ค! ์๋!!!!!!" ๋ฅ์ ๋ชจ์์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์์๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ฉด ๋ช ์์ ์ธ ์์๋ก ํ์ผ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์์ ์ข ์๋์ง ์๋๋ก ์คํ์ผ์ ๋ฆฌํฉํฐ๋งํ ์ ์์ต๋๋ค... ๋ชจ๋๊ฐ ์ด ๋๋ฝ๋ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ํด๊ฒฐํ๋๋ก ๊ฐ์ํ๋ ๊ฒ์ ๊ฐ๋ถ์ฅ์ ์ธ ์ฐ๋ ๊ธฐ >: (
ํ์คํ ์ฐ๋ฆฌ๋ ์ด ์ฌ์ํ ์ฃผ๋ฌธ ๋ฌธ์ ๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ ์ ์์ต๋๋ค. ๊ฒฐ์ ์ ์์๋ ์์์ ๋๋ค. ๊ทธ๊ฒ์ @import-dir์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ์ ์ฌ์ ์ธ ์ฃผ๋ฌธ ๋ฌธ์ ์ ๋ํ ๋ฌธ์ํ๋ ๋์์ด ๋ ๊ฒ์ ๋๋ค. rails๋ ์ด๋ฏธ require_tree๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ฑฐ๊ธฐ์ ์๋ ๊ฒ๋ค์ด ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ๊ฐ์ง ์์ธ๋ ํ์ผ์ด ๊ฐ๋ณ์ ์ผ๋ก ์ปดํ์ผ๋์ด ๋ด ๋ฏน์ค์ธ๊ณผ ๋ณ์๋ฅผ ๋ฐ๋ฅ์ ๋จ์ด๋จ๋ฆฐ๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ๋ฏน์ค์ธ์ด ๋ช ์์ ์ผ๋ก ์์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐ์น๋ ํ ๋ถ๋ถ์ด๋ผ๋ ์ ์ ์ฃผ๋ชฉํฉ๋๋ค. ๊ทธ๋์ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋์๊ฒ ์๋ํ ๋ ์ด๊ฒ์ด sass์์๋ ์๋ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@chrisepstein ๊ต์ฅํฉ๋๋ค! (๊ทธ๋ฆฌ๊ณ ๋ฏธ์น๊ด์ด์ฒ๋ผ ๋ ๋ค์ด์ ์ฃ์กํฉ๋๋ค ์ฌ๋ฌ๋ถ)
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๋ฐ, ์ง์ฆ๋๋ค... ๋ด ๋ ์ผ์ฆ ์ฑ ์์ฐ์ page_specific/์ด๋ผ๋ ํด๋๊ฐ ์์ต๋๋ค...
์ด๊ฒ๋ค์ ๋ชจ๋ ํฐ ์์ฐ blob์ผ๋ก ์ปดํ์ผ๋์ด์ผ ํ๋ฉฐ, ๊ฐ๊ฐ์ ๋ค์์ผ๋ก ์์ ํ ๋ํ๋ฉ๋๋ค.
body#page1 {}, body#page2 {} ๋ฑ...
๊ทธ๊ฒ๋ค์ด ์์์ ์์กดํ ๊ฐ๋ฅ์ฑ์ ์ ํ ์์ผ๋ฉฐ ์์งํ ์ด ์ ์ฒด๊ฐ "๋น์ ์ ๊ทธ๊ฒ์ ๋์น๊ฒ ๋ ๊ฒ์ ๋๋ค! ์๋!!!!!!" ๋ฅ์ ๋ชจ์์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉ์๊ฐ ์์๊ฐ ์ค์ํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ฉด ๋ช ์์ ์ธ ์์๋ก ํ์ผ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์์ ์ข ์๋์ง ์๋๋ก ์คํ์ผ์ ๋ฆฌํฉํฐ๋งํ ์ ์์ต๋๋ค... ๋ชจ๋๊ฐ ์ด ๋๋ฝ๋ ๊ธฐ๋ฅ์ ์๋์ผ๋ก ํด๊ฒฐํ๋๋ก ๊ฐ์ํ๋ ๊ฒ์ ๊ฐ๋ถ์ฅ์ ์ธ ์ฐ๋ ๊ธฐ >: (
ํ์คํ ์ฐ๋ฆฌ๋ ์ด ์ฌ์ํ ์ฃผ๋ฌธ ๋ฌธ์ ๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ ์ ์์ต๋๋ค. ๊ฒฐ์ ์ ์์๋ ์์์ ๋๋ค. ๊ทธ๊ฒ์ @import-dir์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ ์ ์ฌ์ ์ธ ์ฃผ๋ฌธ ๋ฌธ์ ์ ๋ํ ๋ฌธ์ํ๋ ๋์์ด ๋ ๊ฒ์ ๋๋ค. rails๋ ์ด๋ฏธ require_tree๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ฑฐ๊ธฐ์ ์๋ ๊ฒ๋ค์ด ์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ ๊ฐ์ง ์์ธ๋ ํ์ผ์ด ๊ฐ๋ณ์ ์ผ๋ก ์ปดํ์ผ๋์ด ๋ด ๋ฏน์ค์ธ๊ณผ ๋ณ์๋ฅผ ๋ฐ๋ฅ์ ๋จ์ด๋จ๋ฆฐ๋ค๋ ๊ฒ์ ๋๋ค. ๋๋ ๋ฏน์ค์ธ์ด ๋ช ์์ ์ผ๋ก ์์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐ์น๋ ํ ๋ถ๋ถ์ด๋ผ๋ ์ ์ ์ฃผ๋ชฉํฉ๋๋ค. ๊ทธ๋์ ๋ค๋ฅธ ๋ชจ๋ ์ฌ๋์๊ฒ ์๋ํ ๋ ์ด๊ฒ์ด sass์์๋ ์๋ํ์ง ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?