๐ ์์ํ๊ธฐ
Parcel[ํ์ค, /parsษl/]
์ ๊ฐ๋ฐ ๊ฒฝํ์์ ์ฐจ์ด๋ฅผ ๋๋์ ์๋ ์น ์ ํ๋ฆฌ์ผ์ด์
๋ฒ๋ค๋ฌ ์
๋๋ค. ๋ฉํฐ์ฝ์ด ํ๋ก์ธ์ฑ์ผ๋ก ๋ถ๊ฝ ํ๊ฒ ๋น ๋ฅธ ์ฑ๋ฅ์ ์ ๊ณตํ๊ณ ๊ทธ ์ด๋ค ์ค์ ๋ ์๊ตฌํ์ง ์์ต๋๋ค.
๋จผ์ Yarn ์ด๋ npm ์ผ๋ก Parcel ์ ์ค์นํ์ธ์.
Yarn:
yarn global add parcel-bundler
npm:
npm install -g parcel-bundler
๊ทธ ๋ค์, package.json ํ์ผ์ ํ๋ก์ ํธ ๋๋ ํ ๋ฆฌ์ ๋ง๋์ธ์.
yarn init -y
๋๋
npm init -y
Parcel ์ ์ด๋ค ์ ํ์ ํ์ผ์ด๋ผ๋ ์ง์ ์ ์ผ๋ก ์ทจํ ์ ์์ง๋ง HTML ์ด๋ JavaScript ํ์ผ์ด ์ข์ต๋๋ค. ๋ง์ฝ HTML ํ์ผ ๋ด์ ์๋๊ฒฝ๋ก๋ก ๋ฉ์ธ JavaScript ํ์ผ์ ์ฐ๊ฒฐ ํ๋ค๋ฉด, Parcel ์ ์ด ๋ํ ์ฒ๋ฆฌ ํ ๊ฒ์ด๊ณ , ์ถ๋ ฅ ํ์ผ๋ก์ URL ์ฐธ์กฐ๋ฅผ ๊ต์ฒดํ ๊ฒ๋๋ค.
๊ทธ๋ผ, index.html ๊ณผ index.js ํ์ผ์ ๋ง๋ค์ด ๋ด ์๋ค.
<html>
<body>
<script src="./index.js"></script>
</body>
</html>
console.log('hello world')
Parcel ์ ํ์ผ ๋ณํ๋ฅผ ์๋์ผ๋ก ๋ค์ ๋น๋(rebuild) ํ๊ณ ๋น ๋ฅธ ๋ชจ๋ ๊ต์ฒด๋ฅผ ์ง์ํ๋ ๋ด์ฅ ๊ฐ๋ฐ์ฉ ์๋ฒ๊ฐ ์์ด ๋น ๋ฅธ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํด ์ง๋๋ค. ๊ทธ์ ์ง์ ํ์ผ์ ์ง์ ํ๋ฉด ๋ฉ๋๋ค:
parcel index.html
์ด์ ๋ธ๋ผ์ฐ์ ์์ http://localhost:1234/ ์ ์ ์ํ์ธ์. ๋ง์ฝ ๋น ๋ฅธ ๋ชจ๋ ๊ต์ฒด๊ฐ ๋์ํ์ง ์๋๋ค๋ฉด ์๋ํฐ ์ค์ ์ ๋ณ๊ฒฝํ์
์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ ํฌํธ๋ฒํธ๋ฅผ -p <port number>
์ต์
์ผ๋ก ๋ฎ์ด ์ธ ์๋ ์์ต๋๋ค.
๋ณธ์ธ ์์ ์ ์๋ฒ๊ฐ ์๊ฑฐ๋ ์์ ํ ํด๋ผ์ด์ธํธ์์๋ง ๋ ๋๋๋ ์ฑ์ด๋ผ๋ฉด ๊ฐ๋ฐ์ฉ ์๋ฒ๋ฅผ ์ฌ์ฉํ์ธ์. ๋ง์ฝ ๋ณธ์ธ ์์ ์ ์๋ฒ๊ฐ ์๋ค๋ฉด watch
๋ชจ๋๋ก Parcel ์ ๊ตฌ๋ํ ์ ์์ต๋๋ค. ์ด ์ญ์ ํ์ผ ๋ณํ๋ฅผ ์๋ ๋ฆฌ๋น๋(rebuild) ํ๊ณ ๋น ๋ฅธ ๋ชจ๋ ๊ต์ฒด๋ฅผ ์ง์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์น ์๋ฒ๋ฅผ ์๋์ํค์ง๋ ์์ต๋๋ค.
parcel watch index.html
ํ๋ก๋์
์ ์ํ ๋น๋๋ฅผ ํ ์ค๋น๊ฐ ๋์๋ค๋ฉด, build
๋ชจ๋๋ก ๊ฐ์ ๊ธฐ๋ฅ์ ๋๊ณ ํ ๋ฒ๋ง ๋น๋ ํฉ๋๋ค. ํ๋ก๋์
์น์
์์ ๋ณด๋ค ์์ธํ ์ฌํญ๋ค์ ํ์ธํด ๋ณด์ธ์.
๋ฌธ์์ ๊ฐ์ ์ ๋์์ฃผ์ธ์
๋น ์ง์ ์ด ์๊ฑฐ๋ ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ, ์น ์ฌ์ดํธ ์ ์ฅ์์ ์ด์๋ฅผ ์ ๊ธฐํด ์ฃผ์๊ฑฐ๋ ํ์ด์ง๋ฅผ ์์ ํด ์ฃผ์ธ์..