์ค๋์ Agenda๋
์ฑ๋ฅ๊ณผ ์ต์ ํ!
Lighthouse
: ์น ์ฑ๋ฅ์ ๋ถ์ํ๋ ์คํ ์์ค
์ฑ๋ฅ ๋ถ์, ์ ๊ทผ์ฑ ๊ฒ์ฌ, SEO ํ๊ฐ, PWQ ๊ธฐ์ค ํ๊ฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
Lighthouse๋ ๊ฐ๋ฐ์ ๋๊ตฌ(F12)์์ ์ฐพ์ ์ ์์ต๋๋ค
Ligthhouse ํ์ด์ง ๋ก๋๋ฅผ ๋ถ์ํ๊ธฐ ์ํด,
[ ์ค๋ณต ๋ชจ๋ ์ ๊ฑฐ → ๋น๋ → ์ํฌ๋ฆฟ ๋ชจ๋ ์คํ → Lighthouse ์คํ ] ์์๋ก ์คํํฉ๋๋ค.
$ npm dedupe
: npm ํจํค์ง ๋งค๋์ ์์ ์ค๋ณต๋ ์์กด์ฑ์ ์ค์ด๋ ๋ช ๋ น์ด
node_modules ๋๋ ํ ๋ฆฌ์์ ์ค๋ณต๋ ๋ชจ๋์ ์ ๊ฑฐํด ํ๋ก์ ํธ ํฌ๊ธฐ๋ฅผ ์ค์ ๋๋ค.
( yarn์ ์ฌ์ฉํ์๋ฉด, ์์ฒด์ ์ผ๋ก ์์กด์ฑ ํด๊ฒฐ ๋ฐ ํธ๋ฆฌ๊ตฌ์กฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํด ์ค๋ณต๋ ๋ชจ๋์ ์ต์ํํ๋ค๊ณ ํฉ๋๋ค)
$ yarn build
production build์ [ Minification, Tree shaking ] ๋ฑ ์ต์ ํ๊ฐ ์งํ๋์ด web vital์ด ์๋น ๋ถ๋ถ์ด ๊ฐ์ ๋ฉ๋๋ค.
Minification : ๋น์นธ, ์ค๋ฐ๊ฟ ๋ฑ์ ์ ๊ฑฐ / Tree shaking : ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ์ฝ๋ ์ค ์คํ๋์ง ์๋(unused) ์ฝ๋ ์ ๊ฑฐ
→ ๋ฒ๋ค์ ์ค์ => ์์ค ์ฝ๋์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ , ์ ์ก ์ ๋ฐ์ํ๋ ๋์ญํญ ์ ์ฝ ๋ฐ, ๋ธ๋ผ์ฐ์ ํ์ฑ ์๋ ํฅ์
$ yarn global add serve
production build๋ก ๋น๋๋ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ๋ ค๋ฉด, serve์ ๊ฐ์ '์ ์ ํ์ผ ์๋ฒ'๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋์ serve๋ฅผ ์ ์ญ์ผ๋ก ์ค์นํฉ๋๋ค.
$ serve -s build
์ ๋ช ๋ น์ด๋ก ๋น๋๋ ์ ์ ํ์ผ์ ์๋น
โป ์ธ์๋์ง ์๋๋ค๋ฉด, $ yarn global bin ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ํ์ธํ๊ณ , ํด๋น ๊ฒฝ๋ก๋ฅผ ํ๊ฒฝ ๋ณ์ 'PATH'์ ์ถ๊ฐํฉ๋๋ค.
์ ๋ ๊ทธ๋ฅ.. $ <global-bin-path>/serve -s build๋ก ํ์ต๋๋ค..ใ
๊ทธ๋ฆฌ๊ณ [ ์ํฌ๋ฆฟ ๋ชจ๋, ํ์ฅ ํ๋ก๊ทธ๋จ ๋๊ธฐ ]
๊ทธ๋ ๊ฒ ๋์จ ์ฑ๋ฅ์~!~!~!~!
๋ฌผ๋ก , ์์ง ๊ฐ๋ฐ์ด ๋ง๋ฌด๋ฆฌ๋์ง ์๊ธฐ๋ ํ์ง๋ง ์ด ์ ๋.. ์ผ ์ค์... ๐
์คํ๋ ค ์๋ฌ์ต๋๋ค.๐
์ฒ์๋ถํฐ ์ฑ๋ฅ์ด ์ข์๋๋ผ๋ฉด, ๊ฐ์ ํ ๊ธฐํ๋ ์์๊ฒ ์ฃ !
์ด์ ๋ถํฐ ์ฑ๋ฅ์ ๋์ด๋ ์ผ๋ง ๋จ์์ต๋๋ค!!๐คฉ
FCP(First Contentful Paint) : ํ์ด์ง์ ์ฒซ๋ฒ์งธ ์ฝํ ์ธ ๊ฐ ํ์๋๊ธฐ ์์ํ๋ ์์ ์ ์ธก์ ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ์ด๋ค ๋ถ๋ถ์ด ๋ก๋๋๊ณ ์๋์ง ์ธ์งํ ์ ์๋ ์๊ฐ ๊ฐ์ ๋ฐฉ๋ฒ ์ด๋ฏธ์ง ์ต์ ํ , Lazy Loading, CSS & Javascript ์ต์ ํ |
SI(Speed Index) : ํ์ด์ง๊ฐ ์ผ๋ง๋ ๋นจ๋ฆฌ ๋ก๋๋๋ ํ๋ฉด์ ๋ํ๋๋์ง ์ธก์ ๊ฐ์ ๋ฐฉ๋ฒ ์ด๋ฏธ์ง ์ต์ ํ, ์บ์ฑ ํ์ฉ, CDN ํ์ฉ CDN ํ์ฉ : ์ฝํ ์ธ ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ ์กํ๊ธฐ ์ํด Content Delivery Network๋ฅผ ์ฌ์ฉ |
TBT(Total Blocking Time) : ํ์ด์ง ๋ก๋ฉ ์ค์ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ํ ์๋ต์ด ์ฐจ๋จ๋๋ ์ด ์๊ฐ์ ์ธก์ ๊ฐ์ ๋ฐฉ๋ฒ ๋น๋๊ธฐ ์คํฌ๋ฆฝํธ ๋ก๋, CSS ์ต์ ํ, ์๋ฒ ๋ฆฌ์์ค ์ต์ ํ |
LCP(Largest Contentful Paint) : ํ์ด์ง์ ๊ฐ์ฅ ํฐ ์ฝํ ์ธ ๊ฐ ํ๋ฉด์ ํ์๋๊ธฐ ์์ํ๋ ์๊ฐ์ ์ธก์ ๊ฐ์ ๋ฐฉ๋ฒ ์ด๋ฏธ์ง ์ต์ ํ, Lazy Loading , ์บ์ฑ ํ์ฉ, CDN ํ์ฉ |
์์ ๋ฐฐ์ด๋ด์ฉ์ ๋ฐํ์ผ๋ก..!
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ, ์ข์ ์ฑ๋ฅ์ ๊ฐ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค!
๋ฉ๋ชจ
Profile - Commit Time, Render Painting ์กฐ์ฌํ๊ธฐ
"react-router-dom routerConfig์ lazy loading" ์ ์ฉํด๋ณด๊ธฐ