5. Parcel & ESLint

keyword

  1. Bundler(๋ฒˆ๋“ค๋Ÿฌ)

    • 1-1 Parcel

  2. Lint(๋ฆฐํŠธ)

    • 2-1 ESLint

1. Bundler(๋ฒˆ๋“ค๋Ÿฌ)

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ชจ๋“ˆ์ด๋‚˜ ํŒŒ์ผ(JavaScript, CSS, HTML, Images ๋“ฑ)์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ๋ฌถ์–ด์ฃผ๋Š” ๋„๊ตฌ

  • ์›น ์—ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๋ฒˆ๋“ค๋ง์„ ์ง€์›

  • ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ํ†ตํ•œ ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋“œ ์†๋„ ๊ฐœ์„ (์ดˆ๊ธฐ ๋กœ๋“œ์‹œ์— ํ•„์š”ํ•œ ์ฝ”๋“œ๋งŒ ๋กœ๋“œํ•˜๊ณ , ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŒŒ์ผ(chunk)๋กœ ๋‚˜๋ˆ„์–ด ํ•„์š”ํ•œ ์‹œ์ ์— ๋กœ๋“œํ•จ) ex. Dynamic import & lazy loading

  • ๋ณ€์ˆ˜์˜ ์œ ํšจ ๋ฒ”์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ(๋ชจ๋“ˆ ์‹œ์Šคํ…œ์˜ ๋‚ด์žฅ)

1-1 Parcel

Zero Configuration๋ฅผ ๊ฐ•์กฐํ•˜๋Š” ๋ฒˆ๋“ค๋ง ๋„๊ตฌ๋กœ ๋ณ„๋„์˜ ์„ค์ •์—†์ด ์ฆ‰์‹œ ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋‚ด๋ถ€์ ์œผ๋กœ SWC๋ฅผ ์‚ฌ์šฉํ•ด ๋น ๋ฅธ ์ปดํŒŒ์ผ๋ง์„ ์ œ๊ณตํ•œ๋‹ค.

ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ถ”๊ฐ€ํ•˜๊ธฐ

"source": "./index.html",

์ •์  ๋ฆฌ์†Œ์Šค ์ œ๊ณตํ•˜๊ธฐ

// parcel-reporter-static-files-copy ์„ค์น˜
// .parcelrc 
{
  "extends": ["@parcel/config-default"],
  "reporters":  ["...", "parcel-reporter-static-files-copy"]
}
  • staticํด๋” ๋‚ด๋ถ€์˜ ์ •์  ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋ฒˆ๋“ค๋ง์— ํฌํ•จํ•œ๋‹ค.


2. Lint(๋ฆฐํŠธ)

ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์—†์ด ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ •์  ๋ถ„์„ํ•˜์—ฌ ๋ฌธ๋ฒ• ์˜ค๋ฅ˜, ์ž ์žฌ์  ๋ฌธ์ œ, ์ฝ”๋“œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ์— ์–ด๊ธ‹๋‚˜๋Š” ๋ถ€๋ถ„์„ ์‹๋ณ„ํ•œ๋‹ค.

2-1 ESLint

Javascript์˜ ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” Lint, ์‚ฌ์šฉ์ž๊ฐ€ ์ปค์Šคํ…€ํ•˜์—ฌ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

"editor.codeActionsOnSave": {
   "source.fixAll.eslint": true
},

ํ•ด๋‹น ์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํŒŒ์ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ์‹œ ESLint๊ฐ€ ์ฝ”๋“œ ๋ถ„์„๊ณผ ์Šคํƒ€์ผ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

Last updated