폰트 최적화
subset, unicode-range, data-uri
이미지 최적화
picture tag
레이지 로딩
https://web.dev/code-splitting-suspense/
javascript - run time
7 단계
중에 -> parsing 단계
브라우저의 구조가 7단계
GPU rendering 최적화 (performance optimization)
(레이아웃 + 페이트 단계를 건너뜀)
-> opacity (display: none 대신) + transform (직접적으로 width 나 height를 분기처리한다)
=================
webpack eject => customize bundle (npm cra bundle analyze)
동적 import 문 (필요한 부분에서만 import 시킴 -> code splitting/ chunk 로 나누다)
동적 import 를 사용하면, 자동으로 code-splitting 되고 ->
data-set => attr data-name
lazy + preloading
preloading example:
const preLoad = () => {
const preLoadImg = new Image();
preLoadImg.src = slideOne;
};
====================
image storing in public vs src => diff in cashing