Yarn Berry์ pnpm ๋ชจ๋ ๋น ๋ฅธ ์๋์ ํจ์จ์ ์ธ ๋์คํฌ ์ฌ์ฉ์ ๋ชฉํ๋ก ํ์ง๋ง ๋ด๋ถ ๋์ ๋ฐฉ์์ด ๋ค๋ฆ ๋๋ค.
Yarn Berry์ pnpm ๋ชจ๋ ๋น ๋ฅธ ์๋์ ํจ์จ์ ์ธ ๋์คํฌ ์ฌ์ฉ์ ๋ชฉํ๋ก ํ์ง๋ง ๋ด๋ถ ๋์ ๋ฐฉ์์ด ๋ค๋ฆ ๋๋ค.
Yarn Berry๋ .yarn/cache์ ZIP ํ์ผ๋ก ํจํค์ง๋ฅผ ์ ์ฅํ๊ณ , pnpm์ node_modules/.pnpm์ ์ ์ฅํ๋ฉด์ ์ ์ญ ์ ์ฅ์์ ํจํค์ง๋ฅผ ํ๋๋งํฌ๋ก ์ฐ๊ฒฐํฉ๋๋ค.
node-modules: ๊ธฐ์กด npm ๋ฐฉ์๊ณผ ์ ์ฌํ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐpnp: .pnp.cjs ํ์ผ์ ์ด์ฉํด ์์กด์ฑ์ ์ง์ ๊ด๋ฆฌisolated: ๊ธฐ๋ณธ ์ค์ , ํ๋๋งํฌ์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํ์ฉํ์ฌ ๋์คํฌ ๊ณต๊ฐ ์ ์ฝhoisted: npm ๋ฐฉ์์ฒ๋ผ ํํํ๋ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑpnp: .pnp.cjs ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก ์์กด์ฑ์ ๊ด๋ฆฌํ์ฌ node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์์จ ์ ์์Plug'n'Play (PnP)๋?
PnP๋ ๊ธฐ์กด์ node_modules ํด๋ ์์ด๋ ํจํค์ง๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ ์๋ก์ด ๋ฐฉ์์
๋๋ค.
PnP์ ์๋ฆฌ
.pnp.cjs ํ์ผ์ ์ ์ฅํฉ๋๋ค.npm run dev๋ก ๊ฐ๋ฐ ์๋ฒ ์คํ ๋๋ npm run build๋ก ๋น๋ ์ํ), .pnp.cjs๊ฐ Node.js์ require() ๋๋ import ์์ฒญ์ ๊ฐ๋ก์ฑ์ด, ์ ํํ ํจํค์ง ์์น๋ฅผ ์ฆ์ ์ฐพ์์ค๋๋ค.PnP์ ์ฅ์
Yarn Berry๋ ํจํค์ง ์บ์๋ฅผ git์ ํฌํจํ ์ ์์ด, ๋ณ๋์ yarn install ๊ณผ์ ์์ด ๋ฐ๋ก ์คํํ ์ ์์ต๋๋ค.
Yarn Berry๋ ํ๋ฌ๊ทธ์ธ ์์คํ ์ ์ง์ํ์ฌ, ์ปค์คํ ๋ช ๋ น์ด๋ ์๋ํ๋ ์์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ๋ฐฐํฌ, ์ฝ๋ ํฌ๋งทํ ๋ฑ์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
Yarn Berry์ pnpm์ ๋ชจ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ํจํค์ง ๊ด๋ฆฌ ๋ฐฉ์์ ์ ๊ณตํ์ง๋ง, ํ๋๋งํฌ์ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ฐ์ ๊ณ ์ ๋์๋ฐฉ์์ด ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๊ณ ๋ คํด์ ์ ํํด์ผ ํฉ๋๋ค.