
์ค๋ ํฌ๋๋ฆฌ์คํธ ๋ง๋ค๋ค๊ฐ ๊ฐ์๊ธฐ ์๋ ์ค๋ฅ๋ฅผ ๋ง๋ฌ๋ค.
ํ๋ก์ ํธ๋ฅผ ์ค์นํ๊ณ ํ๋ก์ ํธ๋ฅผ ์ด์๋๋ฐ.. ์จํต ๋นจ๊ฐ์ค ์ฒ์ง์๋ค..
JSX.IntrinsicElements' ์ธํฐํ์ด์ค๊ฐ ์์ผ๋ฏ๋ก JSX ์์๋ ์์์ ์ผ๋ก 'any' ํ์์
๋๋ค.
์๊ณ ๋ณด๋ yarn ๋ช ๋ น์ด๋ฅผ ์๋ชป ์ ๋ ฅํด์ Yarn ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋๋๋ฉฐ PnP(Plug'n'Play) ๋ชจ๋๊ฐ ํ์ฑํ๋ ๊ฒ์ด ์์ธ์ด์๋ค.
Yarn์ ์ต์ ๋ฒ์ (Berry๋ผ๊ณ ๋ ํจ)์ PnP ๋ชจ๋๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉํ๋ค. ์ด ๋ชจ๋๋ node_modules ํด๋๋ฅผ ์์ฑํ์ง ์๊ณ ์์กด์ฑ์ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ธ๋ฐ, React์ TypeScript๋ฅผ ํจ๊ป ์ฌ์ฉํ ๋ ํ์
์ ์๋ฅผ ์ ๋๋ก ์ฐพ์ง ๋ชปํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.
์๋ง๋... yarn add๋ฅผ ํ๋ ค๋ค๊ฐ yarn install๋ก ์๋ชป ์
๋ ฅํ๊ฒ์ด ํ๊ทผ์ธ๊ฒ ๊ฐ๋ค.
PnP ํ๊ฒฝ์์๋ ์ผ๋ถ ํ์ ํจํค์ง๋ฅผ ์ง์ ์ถ๊ฐํด์ผ ์ ์์ ์ผ๋ก ์ธ์๋๋ค:
yarn add -D @types/react @types/react-dom @types/node
์ค์น ํ yarn dev ๋๋ npm run dev๋ฅผ ๋ค์ ์คํํ๋ฉด ๋๋ถ๋ถ ํด๊ฒฐ๋๋ค๋๋ฐ.. ์ด๊ฒ๋ ํด๊ฒฐํ์ง ๋ชปํ์๋ค..
PnP ํ๊ฒฝ์์ ํ์ ์ ๋ ์ ์ฐพ์ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ:
# pnpify ์ค์น
yarn add -D @yarnpkg/pnpify
# VSCode์ PnP ์๋ ์ฐ๊ฒฐ
yarn dlx @yarnpkg/pnpify --sdk vscode
VSCode์์ ํด๋น ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์์ง๋ง.. ์ญ์๋ ๋์ง ์์๋ค...
.yarnrc.yml ํ์ผ์ ๋ค์ ์ค์ ์ ์ถ๊ฐํ๋ฉด ํ์ํ ํ์
ํจํค์ง๋ฅผ ์๋์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ค:
{
"installConfig": {
"nodeLinker": "node-modules"
}
}
์ค์ ํ yarn install ์คํํ๋, ์ ์์ ์ผ๋ก ์๋์ ํ๋ค๋ง... ๋ค๋ฅธ ํ๋ก์ ํธ๋ฅผ ์๋ก ์ค์น ํ์๋๋ ์ผ์ผํ ํด๋น ํ์ผ์ ๋ฃ์ด์ผํ๋ค๋ ๋ถํธํจ์ด ์์๋ค.
yarn config set nodeLinker node-modules
๐ ์ด๊ฑฐ ์คํํ๋ฉด ~/.yarnrc.yml (Windows: C:\Users\์ฌ์ฉ์๋ช
.yarnrc.yml)์ ์ค์ ์ด ์ ์ฅ๋จ
๐ ์ดํ ์ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค ๋ ์๋์ผ๋ก node-modules ๋ฐฉ์์ด ์ ์ฉ๋ผ์ pnp ๊ด๋ จ ์ค๋ฅ ์ ๋ธ! ๐
๋๋ 4๋ฒ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค. ๋งค๋ฒ ํ๋ก์ ํธ๋ง๋ค ํ์
๋ฌธ์ ๋ก ๊ณ ์ํ๋ ๊ฒ๋ณด๋ค ์ต์ํ node-modules ๋ฐฉ์์ ๊ณ์ ์ฌ์ฉํ๋ ๊ฒ ํธํ๋ค. ์์ธํ ์ฐพ์๋ณด๋ PnP๊ฐ ์ฉ๋๊ณผ ์๋ ๋ฉด์์ ์ฅ์ ์ด ์์ง๋ง, ์์ง React ์ํ๊ณ์ ์๋ฒฝํ ํธํ๋์ง๋ ์๋ ๊ฒ ๊ฐ๋ค.. ์ค์๋ก ์์ฑํ yarn install์ด์์ง๋ง.. pnp์ ๋ํด์ ๊ฐ๋ณ๊ฒ ์์๋ณผ ์ ์๋ ๊ณ๊ธฐ๊ฐ ๋์ด์ ์คํ๋ ค ์ข์์์ง๋..?
์์ผ๋ก๋ ํฌ๋ ๋ฆฌ์คํธ ๊ฐ์ ๊ฐ๋จํ ํ๋ก์ ํธ์์๋ ํ๊ฒฝ ์ค์ ์ ์ฃผ์ํด์ผ๊ฒ ๋ค!