๋ถˆ๊ฝƒ ํŠ€๊ฒŒ ๋น ๋ฅด๊ณ  ์„ค์ •์ด ํ•„์š” ์—†๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฒˆ๋“ค๋Ÿฌ

์‹œ์ž‘ํ•˜๊ธฐ GitHub

๐Ÿš€ ๋ถˆ๊ฝƒ ํŠ€๊ฒŒ ๋น ๋ฅธ ๋ฒˆ๋“ค

Parcel์€ ์›Œ์ปค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ€ํ‹ฐ์ฝ”์–ด ์ปดํŒŒ์ผ์„ ๊ฐ€๋Šฅ์ผ€ ํ•˜๊ณ , ์‹ฌ์ง€์–ด ์žฌ์‹œ์ž‘ ํ›„๋ผ ํ•ด๋„ ๋น ๋ฅธ ๋ฆฌ๋นŒ๋“œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒŒ์ผ์‹œ์Šคํ…œ ์บ์‹œ๋ฅผ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ฆ ๋ชจ๋“  ์• ์…‹ ๋ฒˆ๋“ค

Parcel์€ JS, CSS, HTML, ํŒŒ์ผ ์• ์…‹, ๊ทธ ์™ธ ๋งŽ์€ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์ง€์›์„ ์ฆ‰์‹œ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ ์—†์ด์š”.

๐Ÿ  ์ž๋™ ๋ณ€ํ™˜

ํ•„์š”ํ•˜๋‹ค๋ฉด Babel, PostCSS, PostHTML์„ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ž๋™์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด node_modules๊นŒ์ง€๋„.

โœ‚๏ธ ์„ค์ • ์—†๋Š” ์ฝ”๋“œ ๋ถ„ํ• 

Parcel์€ ๋™์  import()๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ถœ๋ ฅ ๋ฒˆ๋“ค์„ ๋ถ„ํ•  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐ ๋กœ๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒƒ๋“ค๋งŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”ฅ ๋น ๋ฅธ ๋ชจ๋“ˆ ๊ต์ฒด(HMR)

Parcel์€ ์„ค์ • ์—†์ด ์ž๋™์œผ๋กœ ๊ฐœ๋ฐœ์ค‘์˜ ๋ณ€ํ™”๋ฅผ ๊ฐฑ์‹ ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์— ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๐Ÿšจ ์นœ์ ˆํ•œ ์—๋Ÿฌ ๋กœ๊ทธ

Parcel์€ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ๋„์›€์ด ๋˜๋„๋ก ๋ฌธ์ œ๋ฅผ ์ •ํ™•ํžˆ ์ง‘์–ด์ฃผ๋Š” ๊ตฌ๋ฌธ ๊ฐ•์กฐ ์ฝ”๋“œ ํ”„๋ ˆ์ž„์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

Hello World

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ง„์ž… HTML ํŒŒ์ผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. Parcel์ด ์˜์กด์„ฑ์„ ๋”ฐ๋ผ ์ „์ฒด ์•ฑ์„ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

โœ๏ธ index.html

<html>
<body>
  <script src="./index.js"></script>
</body>
</html>

๐Ÿ›  index.js

// ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ์ž„ํฌํŠธ
import main from './main';

main();

๐Ÿ›  main.js

// CSS ๋ชจ๋“ˆ ์ž„ํฌํŠธ
import classes from './main.css';

export default () => {
  console.log(classes.main);
};

๐Ÿ’… main.css

.main {
  /* ์ด๋ฏธ์ง€ ํŒŒ์ผ ์ฐธ์กฐ */
  background: url('./images/background.png');
  color: red;
}

parcel index.html๋กœ ๊ฐœ๋ฐœ์šฉ ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•˜์„ธ์š”. JavaScript, CSS, images, ๊ทธ ๋ฐ–์— ๋‹ค์–‘ํ•œ ๊ฒƒ๋“ค์ด ์ œ๋Œ€๋กœ ์ž„ํฌํŠธ ๋ ๊ฒ๋‹ˆ๋‹ค! ๐Ÿ‘Œ

๋ฒค์น˜๋งˆํฌ

๋ฒˆ๋“ค๋Ÿฌ ์‹œ๊ฐ„
browserify 22.98์ดˆ
webpack 20.71์ดˆ
parcel 9.98์ดˆ
parcel - ์บ์‹œ ์‚ฌ์šฉ 2.64์ดˆ

๋ฌด๋ฆฌ ์—†๋Š” ํฌ๊ธฐ, 1726๊ฐœ์˜ module์„ ํฌํ•จํ•œ, ๋ฏธ ์••์ถ• 6.5M์˜ app ๊ธฐ์ค€. 4๊ฐœ์˜ ๋ฌผ๋ฆฌ CPU๊ฐ€ ์žˆ๋Š” 2016ํ˜• MacBook Pro์—์„œ ๋นŒ๋“œ๋จ.