Next.js: Chrome ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ ์šฉ ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š” app.js์˜ ~50% ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฐ”์ดํŠธ

์— ๋งŒ๋“  2017๋…„ 04์›” 06์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: vercel/next.js

Chrome ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์ฝ”๋“œ ์ ์šฉ ์œ ํ‹ธ๋ฆฌํ‹ฐ

โ€”

screen shot 2017-04-06 at 02 23 23

๋ฌผ๋ก  ์ƒ์‚ฐ ์ค‘์ž…๋‹ˆ๋‹ค.

โ€”

CSS์™€๋Š” ๋ณ„๋„๋กœ( styled-jsx ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ณ  ๊ณต์œ  ์Šคํƒ€์ผ ๋””์ž์ธ์„ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ styletron ์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ) โ€” ์ž๋™ ์ฝ”๋“œ ๋ถ„ํ•  ๊ธฐ๋Šฅ์„ ์ž˜๋ชป ์ดํ•ดํ–ˆ๋‚˜์š”?

์ปจํ…์ŠคํŠธ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด HOC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํŽ˜์ด์ง€๋ฅผ ๋ž˜ํ•‘ํ•˜๊ณ  ๊ฐ ํŽ˜์ด์ง€์—์„œ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ๋ฉ”์„œ๋“œ์™€ ์†Œํ’ˆ์„ ๋ชจ๋‘ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ: ์ผ๋ถ€ ์ˆ˜์ž…ํ’ˆ์— ๋Œ€ํ•ด ์—ฌ๊ธฐ์ €๊ธฐ์„œ ๋ถ€์ฃผ์˜ํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ชจ๋“  Firebase๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” re-base ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(๋‚ด ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Œ).

webpack์˜ automatic code splitting ์™€ static analysis and tree shaking ๋กค์—…์„ ํ˜ผํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด,

  1. Next๋Š” ํŠธ๋ฆฌ ์‰์ดํ‚น ๋ฐ ๋ฐ๋“œ ์ฝ”๋“œ ์ œ๊ฑฐ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

  2. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ์ด ๋ฌธ์ œ์— ์ ‘๊ทผํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ˆ์ด ์žˆ์Šต๋‹ˆ๊นŒ? Chrome Dev Tools ์ ์šฉ ๋ฒ”์œ„ ๊ฒฐ๊ณผ ๋Š” ์•„์ง ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ ๊ฒฝ๋กœ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์ถ•์†Œ๋œ ์ถœ๋ ฅ์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

  3. webpack-rollup-loader ์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

  4. ์ด ์ค‘ ์–ด๋–ค ๊ฒƒ์ด ์ด๋ฏธ ๋ฉ‹์ง„ Next ์ž‘๋™ ๋ฐฉ์‹์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ ํ•ด์š”!

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ•ด๋‹น ์Šค๋ ˆ๋“œ์—์„œ ๋งํฌ๋œ ๋‹ค์Œ์€ Webpack์—์„œ ํŠธ๋ฆฌ ํ”๋“ค๋ฆผ์ด ์ œ๋Œ€๋กœ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค.
https://github.com/halt-hammerzeit/es6-tree-shaking-test

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‚˜๋Š” ์ด๊ฒƒ์ด webpack์ด ํŠธ๋ฆฌ ์‰์ดํ‚น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.
ES2015 ๋ชจ๋“ˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” React๊ฐ€ ๊ทธ๊ฒƒ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๊ธฐ๋ฅผ ๋ฐ”๋ผ๋ฉฐ ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๊ทธ ์ด์œ ์ž…๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์ €๋Š” ์—ฌ๊ธฐ์„œ ์‹คํ—˜์„ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์•„์ด๋””์–ด/๊ฐœ์„  ์‚ฌํ•ญ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ webpack#2867 ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

ํ•ด๋‹น ์Šค๋ ˆ๋“œ์—์„œ ๋งํฌ๋œ ๋‹ค์Œ์€ Webpack์—์„œ ํŠธ๋ฆฌ ํ”๋“ค๋ฆผ์ด ์ œ๋Œ€๋กœ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค.
https://github.com/halt-hammerzeit/es6-tree-shaking-test

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰