05. Parcel
5. Parcel
parcel์ด๋?
๋น๋๋?
๊ฐ์ฅ ํฐ ๊ฒ์ ๋ฒ๋ค๋ฌ
๋ฒ๋ค๋ฌ, ๋ชจ๋, zero configuration
๋ธ๋ผ์ฐ์ ๋ค์ด ์ง์์ ์ํด์ ํ๋์ ํ์ผ๋ก ํฉ์ณ์ฃผ๋ ๊ฒ์ ๋ฒ๋ค๋ฌ, ํฉ์น๋ ํ๋์ ๋น๋ ๋ผ๊ณ ํจ
์ต์ JS๋ฅผ ์ง์ํ์ง ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด JS๋ฅผ ๋ณํ ์์ผ์ค๋ค๊ฑฐ๋, TS๋ฅผ JS๋ก ๋ณํ์์ผ ์ค๋ค๊ฑฐ๋,
ํ์ผ ํฉ์น๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ๊ทธ๋ฐ ๋๊ตฌ๊น์ง ํฌํจ
SWC: rust๋ก ๋ง๋ TS compiler ๋ฅผ ์ฌ์ฉํด์ ๊ธฐ์กด์ ๊ฒ๋ณด๋ค ๋น ๋ฆ (ํ๊ตญ์ธ์ด ๋ง๋ค)
ES Module์ ์ ๊ทน ํ์ฉํ๋ Vite๋ ์์ฒญ ๋น ๋ฆ
์ค์ ๋ฐ๊ฟ ๊ฒ ๋ฑ ํ๋, ๋ฐฉ๋ฒ ๋๊ฐ์ง
์์ค - package.json => "source": "./index.html"
ํจํค์ง -
npm i parcel-reporter-static-files-copy
๊ทธ ํ .parcelrc ํ์ผ์์ฑ
.parcelrc์ ๋ค์ด๊ฐ ๋ด์ฉ
=> static ํด๋์ ํ์ผ์ ์ ์ ํ์ผ๋ก Serving ํ ์ ์๋ค.
๋ช ๋ น์ด
npx parcel
npx parcel index.html
package.json์์ source๋ฅผ index.html๋ก ๋ฐ๊ฟ
npx parcel index.html --port 8080
npx parcel build (/ npm run build)
dist ํด๋๊ฐ ๋ง๋ค์ด์ง (์ฌ์ค ์๋ ์์์ npm startํด๋ ๋ง๋ค์ด ๋๊ณ ํ์ฉํจ )
npx servor ./dist
config๊ฐ ์๋ ์๋ฒ์
๋ฐฐํฌ๋์์ ๋๋ฅผ ๋ณด๊ณ ์ถ๋ค๋ฉด
serv0r (zero configuration)
rm -rf dist
๊ฐ๋ฐํ๊ฒฝ์ผ๋ก ๋ค์ ๋์์ค๋ ค๋ฉด
5-2. ESLint
1. ๋ชฉ์
์คํ์ผ ํต์ผ
์ ์ฌ์ ๋ฌธ์ ๋ฐ๊ฒฌ
๋ฒ ์คํธ ํ๋ํฐ์ค ์ถ์ฒ -> ์ต์ ํธ๋ ๋๋ฅผ ํ์ตํ๋๋ฐ ํ์ฉ ๊ฐ๋ฅ
2. ๊ฐ์
lint : ๋ณดํ?
์์ค์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ์์ฌ์ค๋ฌ์ด ๊ณณ์ flag๋ฌ์๋๊ธฐ
์ ์ ํ๋ก๊ทธ๋จ ๋ถ์: ์คํ๋๋ ์๊ฐ์ด ๋น๊ต์ ์งง๊ณ ํ๋ก๊ทธ๋จ์ ๋ถ์ํจ
๋์ ํ๋ก๊ทธ๋จ: ๋ง ์คํ์ ํ๋ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ฐํํ์ง ์๋ ๊ฒ ์๋ค. ์ด๋ฌ๋ฉด ๋์
TSlint๋ ๋ฐ๋ก ์์๋๋ฐ ๊ทธ๊ฒ๊น์ง ์ปค๋ฒ๋ฅผ ํด์ฃผ๊ฒ ๋์๋ค..
3. ์ฌ์ฉ๋ฒ
npx eslint --ext .tsx
npm eslint --fix --ext .js,.jsx,.ts,.tsx . ํ๋ฉด ๋ฐ๋ก ๊ณ ์ณ์ค
์ด ๋ช ๋ น์ด๋ฅผ "lint"์ ์ ์ฅํด๋์ผ๋ฉด ์์ผ๋ก npm run lintํ๋ฉด ์ฌ์ฉ๊ฐ๋ฅ~!
์ ๊ฒฝ์ฐ์ผ๋๋ง๋ค ํฐ๋ฏธ๋์ ๊ฐ์ ์ ๊ฑธ ์ณ์ ๊ณ ์ณ์ฃผ๋ ๊ฒ์ ๋๋ฌด ๋ฒ๊ฑฐ๋กญ๊ธฐ ๋๋ฌธ์,
eslint ํ์ฅํ๋ก๊ทธ๋จ esLint ์ค์น (install)
.vscode ํด๋ ์์ settings.json ๋ง๋ค์ด์
npm run lint & npm run check
4. ์ถ์ฒํ๋ ์ฐ์ต ๋ฐฉ๋ฒ
์ง๊ธ๊น์ง์ ๋ชจ๋ ๊ณผ์ ์ ๋งค์ผ ์์นจ ํ ๋ฒ์ฉ ํด๋ณด๋ ๊ฒ!
Last updated