๋ฒ๊ทธ ์ค๋ช
์ฌ์ฉ๋์ง ์์ ์์ฑ์ export let
๋ฌธ์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ํต๋๋ค. ๊ฒฝ๊ณ ๋ ๋๋ฅผ ์ํด ์ค์ ์์ฑ ์์ ์ค์ ํ์๋ฉ๋๋ค.
์ฌํํ๋ ค๋ฉด
์คํฌ๋ฆฝํธ ์ธ์ด๋ฅผ typescript ( lang="ts"
๋๋ type="text/typescript"
)๋ก ์ค์ ํฉ๋๋ค.
์ผ๋ถ ๋ด๋ณด๋ด๊ธฐ ์์ฑ์ ์ ์ธํ๊ณ ์ด๋์๋ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
์์๋๋ ํ๋
๊ฒฝ๊ณ ๋ ์ฌ์ฉ๋์ง ์๋ ์์ฑ์ ๋ํ ๊ฒ์ ๋๋ค.
์คํฌ๋ฆฐ ์ท
์์ฑ์ด ์คํฌ๋ฆฝํธ์ ์ฒซ ๋ฒ์งธ ์ค์์๋ ๊ฒฝ์ฐ :
์์คํ (๋ค์ ์ ๋ณด๋ฅผ ์์ฑํ์ญ์์ค) :
@ tsconfig / svelte๋ฅผ ์ต์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ญ์์ค.
๋๋ ๊ทธ๊ฒ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
์์๋ก ์ถ๊ฐํ์ง๋ง ์๋ฌด๊ฒ๋ํ์ง ์์์ต๋๋ค.
์ค, ๋น์ ์ด ๊ณต์ ํ
ํ๋ฆฟ์ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค. ํจํค์ง๋ svelte์ ๊ธฐ๋ณธ ๊ตฌ์ฑ์
๋๋ค. tsconfig.json
์ extends
์ (๋ฅผ) ์ด์ ๋ง๊ฒ ์
๋ฐ์ดํธ ํ ์ ์์ต๋๋ค.
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87
# 333๊ณผ ์ค๋ณต
@ jasonlyu123 ๋ด๊ฐ ๋งํ๋ฏ์ด ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ์ผ์์ ์ผ๋ก ์ถ๊ฐํ์ง๋ง ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค. ์ฌ์ ํ ์๋ชป๋ ์ค์ ์ค๋ฅ๊ฐ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ tsc
๋ฅผ ์คํํ์ฌ ์์
๊ณต๊ฐ์์ ts ํ์ผ์ ์ปดํ์ผํ๊ณ ์ถ๋ ฅ ํ์ผ์ ์์ค ๋งต์ด ์๋์ง ํ์ธํ ์ ์์ต๋๊น?
๋ฌธ์ ๋ ์์ค ๋งต์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ svelte ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ svelte ์ง๋จ์ ์ป์ต๋๋ค. svelte.config.js๊ฐ ์๊ณ ์ฌ๊ธฐ์ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ง์ ํ๋ฉด ์ ์ฒ๋ฆฌ์์ด๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต์ svelte-preprocess๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ์ธ์๋ ์ฌ์ฉํฉ๋๋ค. ์ ์ฒ๋ฆฌ ๊ธฐ๊ฐ ์์ค ๋งต์ ๋ฐํํ์ง ์์ผ๋ฉด ๊ฒฝ๊ณ ๋ ์๋ชป๋ ์์น์ ์์ต๋๋ค.
๋ํ tsconfig.json์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ชจ๋ํฐ๋งํ์ง ์์ผ๋ฏ๋ก ๋ณ๊ฒฝ ํ ์ธ์ด ์๋ฒ๋ฅผ ๋ค์ ์์ํด์ผํฉ๋๋ค.
ํญ์ ์์ค ๋งต์ ์์ฑํ์ง๋ ์์ต๋๋ค. ๋จ์ผ ํ์ผ์์ tsc
๋ฅผ ํธ์ถํ๋ฉด ๋ถ๋ช
ํ tsconfig๋ฅผ๋ก๋ํ์ง ์์ต๋๋ค. tsc -p .
๋๋ tsc --build tsconfig.json
ํ๋ฉด ์์๋๋ก ์์ค ๋งต์ด ์ถ๋ ฅ๋ฉ๋๋ค.
svelte.config.js
๊ฒฝ์ฐ)๋ฅผ ์ดํด๋ณผ ์ ์์ต๋๊น? ๋ํ ์ด๋ค ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํฉ๋๊น?
์๋ ๋ชจ๋์์ svelte-preprocess
๊ธฐ๋ณธ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์
๋ ฅ ๊ตฌ์ฑ ์์์ ์ค๋ฅ๊ฐ์๋ ์ต์ํ์ ์์ ์ ์ฅ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค.
์๋ ๋ชจ๋์์ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ช
์ ์ ์ผ๋ก ์ค์ ํ์ฌ svelte.config.js
๋ง๋ค๋ ค๊ณ ํ์ง๋ง ์ค์ํ์ง ์์์ต๋๋ค. ๋ช
์ ์ ์ผ๋ก ๋ง ์ฌ์ฉ typescript
๋ฐ๋ ๊ฒฝ๋ก์ ํ๋ tsconfig.json
๋ฌด์์ด๋ ํ๋๋ฅผ ์ํํ์ง ์์๋ค.
์ ... ์ด๊ฒ์ ์์์น ๋ชปํ ์ผ์
๋๋ค. tsconfig.json
์์ sourcemap
๋ true๋ก ์ค์ ํ ๊ฒฝ์ฐ์๋ง ์๋ํฉ๋๋ค.
๊ทธ๋ฌ๋ฉด extends
๊ฐ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. ๊ธ์, ์ง๊ธ์ ๋ช
์ ์ ์ผ๋ก ์ค์ ํด๋ ๊ด์ฐฎ์ต๋๋ค.
๊ฐ์ฌ
๋ค, ๋ ์ฌํ ์ ์ฒ๋ฆฌ์ ์์ค ํ์ผ์ ๊ฐ๋ตํ ์ดํด ๋ณด์์ต๋๋ค. extends
๊ตฌ๋ฌธ ๋ถ์ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์ด ๋ฌธ์ ๋ svelte-preprocess
์์ ์ด์์ต๋๋ค . docs์ ๋ฐ๋ผ ์๋ ์ฌ์ ์ฒ๋ฆฌ ๋ชจ๋์์ ์์ค ๋งต์ด ์์ฑ๋์ด์ผํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์
๋ฐ์ดํธ : ๋ฌธ์๊ฐ ์๋ชป๋์์ผ๋ฏ๋ก ์ง์ true
๋ก ์ค์ ํด์ผํฉ๋๋ค.
@brunnerh ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ "sourceMaps": true
๋น์ ์ ๊ธฐ๋ณธ ์ค์ ์ฐธ์กฐ tsconfig.json
ํ ๋์ ํ๊ณ sveltePreprocess({sourceMap: true})
๋น์ ์ svelte.config.js
, ๊ทธ๊ฒ์ ์ฌ๋ฐ๋ฅธ์์ ๊ฒฝ๊ณ ๋ฅผ ๋ณด์ฌ ์์ต๋๋ค ๊ทธ๋ผ ์ค?
@brunnerh ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ
"sourceMaps": true
๋น์ ์ ๊ธฐ๋ณธ ์ค์ ์ฐธ์กฐtsconfig.json
ํ ๋์ ํ๊ณsveltePreprocess({sourceMap: true})
๋น์ ์svelte.config.js
, ๊ทธ๊ฒ์ ์ฌ๋ฐ๋ฅธ์์ ๊ฒฝ๊ณ ๋ฅผ ๋ณด์ฌ ์์ต๋๋ค ๊ทธ๋ผ ์ค?
์๋์, ์์ง ๊บผ์ ธ ์์ต๋๋ค.
์ถ๊ฐ ๊ฒฝ์ฐ์๋ง ์๋ ๊ทธ๋์ "sourceMaps": true
๋ฐ๋ tsconfig.json
?
์
svelte-preprocess
๊ด๋ จ ๋ฌธ์ ์ด๋ฏ๋ก ์ข
๋ฃํฉ๋๋ค. "sourceMap-option์ ํตํด ์ ์ฒ๋ฆฌ๋ฅผ ์๋ ค์ค ๋ ์์ค ๋งต์ด ์ ์ฉ๋์ง ์๋๋ค"๋ฌธ์ ๊ฐ ์ต์ ๋ฒ์ ์์ ์์ ๋์์ต๋๋ค. " extends
- tsconfig.json
์ด ์ง์๋์ง ์์"์ https://github.com/sveltejs/svelte-preprocess/issues/300 ์์ ์ถ์ ๋ฉ๋๋ค.