[Vue] Single-File Component

์˜ค๋ฆฌํ†ตํ†ตยท2024๋…„ 11์›” 12์ผ

Vue

๋ชฉ๋ก ๋ณด๊ธฐ
9/11

๐Ÿ“š SFC(Single File Component)์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž. ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ Component๋ž€ ๋ฌด์—‡์ผ๊นŒ? Component๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ๋ธ”๋ก์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์›น ์„œ๋น„์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ Component๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

1. Single-File Component

Vue.js์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŠน๋ณ„ํ•œ ํŒŒ์ผ ํ˜•์‹์œผ๋กœ, ํ•˜๋‚˜์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ…œํ”Œ๋ฆฟ(HTML), ์Šคํฌ๋ฆฝํŠธ(JavaScript), ์Šคํƒ€์ผ(CSS)์„ ๋ชจ๋‘ ํ•˜๋‚˜์˜ .vue ํŒŒ์ผ์— ํฌํ•จ์‹œํ‚ค๋Š” ๋ฐฉ์‹

1) <template> ๋ธ”๋ก

๊ฐ *.vue ํŒŒ์ผ์€ ์ตœ์ƒ์œ„ <template> ๋ธ”๋ก์„ ํ•˜๋‚˜๋งŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค.

2) <script setup> ๋ธ”๋ก

๊ฐ *.vue ํŒŒ์ผ์€ <script setup> ๋ธ”๋ก์„ ํ•˜๋‚˜๋งŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Œ (์ผ๋ฐ˜ <script> ์ œ์™ธ)

์ปดํฌ๋„ŒํŠธ์˜ setup() ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ ์ปดํฌ๋„ŒํŠธ์˜ ๊ฐ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด ์‹คํ–‰

-> ๋ณ€์ˆ˜ ๋ฐ ํ•จ์ˆ˜๋Š” ๋™์ผํ•œ ์ปดํฌ๋„ŒํŠธ์˜ ํ…œํ”Œ๋ฆฟ์—์„œ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

3) <style scoped> ๋ธ”๋ก

*.vue ํŒŒ์ผ์—๋Š” ์—ฌ๋Ÿฌ <style> ํƒœ๊ทธ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ

scoped๊ฐ€ ์ง€์ •๋˜๋ฉด CSS๋Š” ํ˜„์žฌ ์ปดํฌ๋„ŒํŠธ์—๋งŒ ์ ์šฉ๋จ


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” SFC์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” Vue project๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

profile
์ดˆ๋ณด ๊ฐœ๋ฐœ์ž์˜ ์ขŒ์ถฉ์šฐ๋Œ ์„ฑ์žฅ๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€