SPA 스크립트 용량 어디까지 줄일 수 있을까

최대한 줄여보고자 하는 당신을 위한 안내서

글 작성 편의상 경어를 생략하였음을 미리 알려드립니다.

2014.08 ~ 2016.08 JS Transfer Size & JS Requests (link)

상황 진단하기

똑같은 단일 스크립트 361, 4.44s (!)
약 4초 동안 idle 상태가 유지되고 있다
인스타그램 Landing Page
인스타그램 소스 중 일부

무분별하게 사용한 패키지 제거하기 혹은 대체하기

거대한 모듈 의존성 그래프
Bingo!

동적 Require 에 힌트 주기

moment.js locales
한국어 로케일만 불러오도록 힌트를 주는 예시

잘못된 module import 바로잡기

import { assign } from ‘lodash’;
마찬가지로 bar를 import 시키지도 않았다

혹시 이런 실수를?

결과와 느낀 점

작업 이후 + Chunking

--

--

Little big things about programming. Inspired by http://littlebigdetails.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store