Chrome ๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ๋ ์ ์ฉ ์ ํธ๋ฆฌํฐ
โ
๋ฌผ๋ก ์์ฐ ์ค์ ๋๋ค.
โ
CSS์๋ ๋ณ๋๋ก( styled-jsx
์ฒ์ ์ฌ์ฉํ๊ณ ๊ณต์ ์คํ์ผ ๋์์ธ์ ๊ฐ์ ํ๊ฑฐ๋ styletron
์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํด์ผ ํจ) โ ์๋ ์ฝ๋ ๋ถํ ๊ธฐ๋ฅ์ ์๋ชป ์ดํดํ๋์?
์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด HOC๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ํ์ด์ง๋ฅผ ๋ํํ๊ณ ๊ฐ ํ์ด์ง์์ ๋ฐ๋์ ์ฌ์ฉํ์ง ์์๋ ๋๋ ๋ฉ์๋์ ์ํ์ ๋ชจ๋ ์ ๋ฌํฉ๋๋ค. ์ถ๊ฐ๋ก: ์ผ๋ถ ์์ ํ์ ๋ํด ์ฌ๊ธฐ์ ๊ธฐ์ ๋ถ์ฃผ์ํ์ ์ ์์ต๋๋ค. ํ์ฌ ๋ชจ๋ Firebase๋ฅผ ๊ฐ์ ธ์ค๋ re-base ๋ฅผ ์ฌ์ฉํฉ๋๋ค(๋ด ์ฌ์ฉ ์ฌ๋ก์์๋ ํ์ํ์ง ์์).
webpack์ automatic code splitting
์ static analysis and tree shaking
๋กค์
์ ํผํฉํ ์ ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด,
Next๋ ํธ๋ฆฌ ์์ดํน ๋ฐ ๋ฐ๋ ์ฝ๋ ์ ๊ฑฐ๋ฅผ ์ํํด์ผ ํฉ๋๊น?
๊ทธ๋ ์ง ์๋ค๋ฉด ์ด ๋ฌธ์ ์ ์ ๊ทผํ๊ณ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ์์ด ์์ต๋๊น? Chrome Dev Tools ์ ์ฉ ๋ฒ์ ๊ฒฐ๊ณผ ๋ ์์ง ๊ฐ๋จํ๊ฒ ๋ด๋ณด๋ผ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ์๋ ์ฝ๋ ๊ฒฝ๋ก๋ฅผ ์๋ณํ๊ณ ์ถ์๋ ์ถ๋ ฅ์ผ๋ก ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
webpack-rollup-loader ์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ณ ์๋ฏธ๊ฐ ์์ต๋๊น?
์ด ์ค ์ด๋ค ๊ฒ์ด ์ด๋ฏธ ๋ฉ์ง Next ์๋ ๋ฐฉ์์ ๊ฐ์ ํ ์ ์์ต๋๊น?
๊ฐ์ฌ ํด์!
๋๋ ์ด๊ฒ์ด webpack์ด ํธ๋ฆฌ ์์ดํน์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ ๋๋ฌธ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
ES2015 ๋ชจ๋์ด ํ์ํฉ๋๋ค. ๋๋ React๊ฐ ๊ทธ๊ฒ์ ์ ๊ณตํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ ์ด๊ฒ์ด ๋ฐ๋ก ๊ทธ ์ด์ ์
๋๋ค.
ํ์ง๋ง ์ ๋ ์ฌ๊ธฐ์ ์คํ์ ํ๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ์์ด๋์ด/๊ฐ์ ์ฌํญ์ ํ์ํฉ๋๋ค.
์๋ง๋ webpack#2867 ๊ณผ ๊ด๋ จ์ด ์์ต๋๊น?
ํด๋น ์ค๋ ๋์์ ๋งํฌ๋ ๋ค์์ Webpack์์ ํธ๋ฆฌ ํ๋ค๋ฆผ์ด ์ ๋๋ก ๋ฐ์ํ๋์ง ํ
์คํธํ๋ ์ ํธ๋ฆฌํฐ์
๋๋ค.
https://github.com/halt-hammerzeit/es6-tree-shaking-test
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
ํด๋น ์ค๋ ๋์์ ๋งํฌ๋ ๋ค์์ Webpack์์ ํธ๋ฆฌ ํ๋ค๋ฆผ์ด ์ ๋๋ก ๋ฐ์ํ๋์ง ํ ์คํธํ๋ ์ ํธ๋ฆฌํฐ์ ๋๋ค.
https://github.com/halt-hammerzeit/es6-tree-shaking-test