본문 바로가기
기타 개발지식

코드 스플릿팅(Code splitting) 이란?

by 찐코딩 2023. 3. 14.

코드 스플릿팅(Code splitting)은 웹 애플리케이션에서 자바스크립트 파일의 크기를 줄이고, 

초기 로드 속도를 개선하기 위해 사용되는 기술입니다.

일반적으로, 웹 애플리케이션은 하나의 큰 자바스크립트 파일을 사용합니다. 

그러나 이러한 방식은 파일 크기가 매우 크고, 브라우저에서 로딩하는 데에 시간이 오래 걸리므로 초기 로드 속도가 느려질 수 있습니다. 이를 해결하기 위해 코드 스플릿팅 기술을 사용합니다.

코드 스플릿팅은 큰 자바스크립트 파일을 작은 파일들로 분할하는 기술입니다. 

이렇게 작은 파일들은 필요에 따라 로드되며, 초기 로드시 필요하지 않은 코드들은 로드되지 않습니다. 

이를 통해 초기 로드 속도가 개선되고, 

사용자가 웹 애플리케이션을 사용하는 동안 필요한 코드들만 로드하여 자원의 낭비를 줄일 수 있습니다.



예를 들어, 웹 애플리케이션이 다음과 같은 코드를 포함하고 있다면:

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router-dom';
import HomePage from './pages/HomePage';
import AboutPage from './pages/AboutPage';

ReactDOM.render(
  <Router>
    <Route path="/" component={HomePage} />
    <Route path="/about" component={AboutPage} />
  </Router>,
  document.getElementById('root')
);

위 코드에서는 "react", "react-dom", "react-router-dom" 등의 라이브러리와 "HomePage", "AboutPage" 등의 페이지 컴포넌트가 로드됩니다. 이를 코드 스플릿팅으로 개선하면, 다음과 같이 페이지별로 자바스크립트 파일을 분할하여 로드할 수 있습니다.

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router-dom';

ReactDOM.render(
  <Router>
    <Route path="/" component={() => import('./pages/HomePage')} />
    <Route path="/about" component={() => import('./pages/AboutPage')} />
  </Router>,
  document.getElementById('root')
);

위 코드에서는 "HomePage"와 "AboutPage" 페이지 컴포넌트를 필요에 따라 로드하기 위해 "import()" 구문을 사용합니다. 

이를 통해, 각 페이지별로 필요한 자바스크립트 파일만 로드되고, 초기 로드 시간이 개선됩니다.

댓글