Parcel์ ์ปค๋งจ๋ ๋ผ์ธ ์ธํฐํ์ด์ค(CLI) ๐จ
๐จ CLI (Commend Line Interface)
CLI๋ ํฐ๋ฏธ๋์ ํตํด ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ผ๋ก ๋ฌธ์์ด ๋ช
๋ น์ ์
๋ ฅํ๋ ๊ฒ์ ๋งํ๋ค.
๋ค์ ๋งํฌ์ ๋ค์ด๊ฐ Parcel์ CLI๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ํ์ธํ ์ ์์ผ๋ฉฐ ๊ทธ ์ค ์ค์ํ ๋ช ๊ฐ์ง์ ๋ํด ์์๋ณด์
https://ko.parceljs.org/cli.html
Serve
๊ฐ๋ฐ์ฉ ์๋ฒ๋ฅผ ์์ํ๋ ๋ช ๋ น์ด๋ก ์ฑ์ด ์์ ๋๋ฉด ์๋์ผ๋ก ๋ค์ ๋น๋ํ๊ณ , ๋น ๋ฅธ ๊ฐ๋ฐ์ ์ํด ๋น ๋ฅธ ๋ชจ๋ ๊ต์ฒด๋ฅผ ์ง์ํ๋ค.
parcel index.html
Build
์ ํํํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด๋ก, assets์ ํ ๋ฒ ๋น๋ํ๋ค.
์ด ๊ณผ์ ์์ ์ฝ๋ ์ต์ํ(๋ฏธ๋ํ์ด์ผ์ด์
)๊ฐ ํ์ฑํ๋๊ณ ํ๊ฒฝ๋ณ์๊ฐ NODE_ENV=production ๋ก ์ค์ ๋๋ค.
parcel build index.html
๊ฒฐ๊ณผ๋ฌผ ๋๋ ํ ๋ฆฌ
๊ธฐ๋ณธ๊ฐ์ dist์ด๋ฉฐ ๋ค๋ฅธ ํด๋๋ช
์ผ๋ก ๋ณ๊ฒฝ์ ์ํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด์
๋๋ค.
build/output ๋ถ๋ถ์ dist๋ฅผ ๋์ ํ ํด๋ ๊ตฌ์กฐ๋ฅผ ๋ช
์ํ๋ฉด ๋๋ค.
parcel build entry.js --out-dir build/output
//๋๋
parcel build entry.js -d build/output
ํฌํธ ๋ฒํธ
๊ธฐ๋ณธ๊ฐ์ 1234์ธ๋ฐ ๊ฐ๋ฐ ์๋ฒ ์คํ ์์ ํฌํธ ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด๋ก ์ซ์๋ฅผ ๋ฐ๊ฟ ์ ์๋ค.
parcel serve index.html --port 0605
๋ธ๋ผ์ฐ์ ์์ ์ด๊ธฐ
๊ธฐ๋ณธ๊ฐ์ ๋นํ์ฑ์ด๋ฉฐ ์๋ ๋ช ๋ น์ด๋ฅผ ํตํด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์คํํ๊ฒ ๋๋ฉด ์๋์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ์ฐ๊ฒฐ๋๋ค.
parcel index.html --open
๋น ๋ฅธ ๋ชจ๋ ๊ต์ฒด ๋นํ์ฑํ
๊ธฐ๋ณธ๊ฐ์ HMR (Hot Module Replacement) ํ์ฑ์ด๋ฉฐ ๋ฐํ์์ ํ์ด์ง ์๋ก๊ณ ์นจ ์์ด ์์ ๋ ๋ด์ฉ์ ์๋์ผ๋ก ๊ฐฑ์ ํ๋ ๋ฐฉ์์ ๋งํ๋ค.
ํ์ํ์ง ์๋ค๋ฉด ๋นํ์ฑํ ์ํฌ ์ ์๋ค.
parcel index.html --no-hmr
ํ์ผ์์คํ ์บ์ ๋นํ์ฑํ
๊ธฐ๋ณธ๊ฐ์ ์บ์ ํ์ฑ์ผ๋ก ์ด๋ ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ด๊ฑฐ๋ ์ ํํ ํ ๋ ์บ์๊ฐ ํ์ฑํ ๋์ด์์ด ๋น ๋ฅด๊ฒ ๋ด์ฉ์ด ์ฒ๋ฆฌ๋๋ค.
๊ฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ํฉ๋ ์์ด ํ์์ ๋ฐ๋ผ ๋นํ์ฑํํ ์ ์๋ค.
์ ์ฉํ๊ธฐ
์ค์ ๋ก ๋ช
๋ น์ด๋ฅผ ์ถ๊ฐํ์ฌ ํฌํธ ๋ฒํธ๋ฅผ ๋ฐ๊ฟ๋ณด์
package.json ํ์ผ์ ์ด๊ณ dev์์ parcel index.html ๋ค์ --port 0605 ๋ฅผ ์ถ๊ฐํด๋ณด์.
๊ทธ๋ฆฌ๊ณ npm run dev๋ก ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ด๋ฉด ๋ก์ปฌ ํธ์คํธ์ ๋ฒํธ๊ฐ 0605๋ก ๋ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
๊ทธ๋ฐ๋ฐ Parcel bundler๋ ์ต๋ํ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ก ์ต์ ์ ์ ๊ณตํ์ง ์๊ณ ์๋ํํด์ ๋์์ํค๋ ๊ฒ์ด ํต์ฌ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ํ์์ ๋ฐ๋ผ์๋ง ์ต์ ์ ์์ ํ๋๋ก ํ์