Language-tools: ์Šฌ๋กฏ ์š”์†Œ ์ž์ฒด์—์„œ ์Šฌ๋กฏ ์†Œํ’ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2021๋…„ 02์›” 14์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: sveltejs/language-tools

๋ฒ„๊ทธ ์„ค๋ช…
์Šฌ๋กฏ ์†์„ฑ์€ ์Šฌ๋กฏ ์š”์†Œ ๋‚ด์—์„œ๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์š”์†Œ ์ž์ฒด์—์„œ๋Š” ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Svelte๋Š” ์š”์†Œ์˜ ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ์•ฝ๊ฐ„ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํžˆ ์—„๊ฒฉํ•œ ์„ค์ •์œผ๋กœ TypeScript๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋งŒ ์˜ค๋ฅ˜๋กœ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด
์Šฌ๋กฏ ์†์„ฑ์ด ์žˆ๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๋งŒ๋“ค๊ณ  ์†์„ฑ์„ ์„ ์–ธํ•˜๋Š” ์š”์†Œ์˜ ์†์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(์—ฌ๊ธฐ์„œ class ์‚ฌ์šฉ ์˜ค๋ฅ˜).

<Component n={10}>
    <div slot="item" let:zebra class={zebra}>Hello {zebra}</div>
</Component>

[REPL]

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™
์Šฌ๋กฏ ์†์„ฑ์ด ๋ฒ”์œ„ ๋‚ด์— ์žˆ์œผ๋ฉฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฐ์ƒท
image

์‹œ์Šคํ…œ(๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค):

  • ์šด์˜ ์ฒด์ œ: Windows 10 64๋น„ํŠธ
  • IDE: VS์ฝ”๋“œ
  • ํ”Œ๋Ÿฌ๊ทธ์ธ/ํŒจํ‚ค์ง€: VSCode์šฉ Svelte
Fixed bug

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

ํƒœ๊ทธ๋ฅผ ๋‘˜๋Ÿฌ์‹ธ๊ณ  ๋ ˆ๋ฒจ ์œ„๋กœ jsx-transformation์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ํ…Œ์ŠคํŠธ ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

<>{() => { let {thing:{ a }} = __sveltets_instanceOf(Component).$$slot_def['default'];<><Component>
    <h1>Hello { a }</h1>
</Component></>}}</>

@dummdidumm ์ˆ˜์ •ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ let:prop ๊ฐ€ ์‚ฌ์šฉ ํ›„์ธ ๊ฒฝ์šฐ์—๋„ ์œ ํ˜• ์˜ค๋ฅ˜ ๋Œ€์‹  ๋‚ ์นด๋กœ์šด ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

'prop'์ด(๊ฐ€) ์ •์˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [svelte(missing-declaration)]

์˜ˆ์‹œ ์Šคํฌ๋ฆฐ์ƒท:

image

๊ทธ๋Ÿฌ๋‚˜ ์ƒ์„ฑ๋œ ์ถœ๋ ฅ์€ ์ˆœ์„œ์— ๊ด€๊ณ„์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์†์„ฑ์„ ์žฌ์ •๋ ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ Svelte ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„๊ทธ์ด๋ฉฐ ์ด๋ฅผ ์œ„ํ•ด https://github.com/sveltejs/svelte/issues/6009 ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰