반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 오블완
- 자료구조
- binary search
- mysql스키마
- 깃허브
- js 알고리즘
- 프로그래머스 자바스크립트
- node.js
- 프로그래머스 자바스크립트 풀이
- next.js
- TypeScript
- 자바스크립트 배열
- JavaScript
- 자바스크립트 알고리즘
- 맨해튼거리
- Javascript sort
- 맨해튼거리예제
- 타입스크립트
- 프로그래머스
- 티스토리챌린지
- 키패드누르기풀이
- 프로그래머스 신규아이디추천
- 좌표거리구하기
- TS
- 자바스크립트 정렬
- 정규표현식문제
- 알고리즘
- MySQL
- 정렬 알고리즘
- Javascript 정렬
Archives
- Today
- Total
FE PARADISE
Next.js 사이트 성능 관리 - next/dynamic 사용하기 본문
반응형
사이트 내 js, css 등의 파일 로드 시간을 단축하기 위해 next/dynamic을 적용하고자 한다.
기존에 모듈, 컴포넌트들을 import하는 방식은 다음과 같았다.
기존
import Modal from "@/components/common/modal";
next/dynamic 적용 후
import dynamic from "next/dynamic";
const Modal = dynamic(() => import("@/components/common/modal"), {
loading: () => <>Loading...</>,
});
const Form = dynamic(() => import("@/components/home/form"), {
loading: () => <>Loading...</>,
});
const Loading = dynamic(() => import("@/components/common/loading"), {
loading: () => <>Loading...</>,
});
위와 같이 next/dynamic을 적용하게 되면 페이지 최초 로드 시 다운로드 받지 않아도 되는 컴포넌트의 파일을 다운받아 오는 것을 방지해 사이트의 로드 시간을 단축시킬 수 있다.
예를 들어 페이지 내에 어떠한 버튼을 누르면 경고 문구를 담은 모달창을 띄워주는 기능이 있다고 가정해보자.
해당 경고 모달창은 버튼을 눌렀을 경우에만 보여지면 된다. 그렇기에 페이지 최초 로드시에는 모달창에 해당하는 파일을 다운로드 받아올 필요가 없다. 페이지 로드 시간을 줄이기 위해 경고 모달창을 정의한 .js 파일을 next/dynamic을 이용해 import 해오는 경우 버튼을 누름과 동시에 경고 모달창의 .js 파일을 로드하도록 할 수 있다.
반응형