webpack 설정에서 externals 속성을 사용하여 node_modules 폴더에 있는 패키지들을 번들링에서 제외하는 것은 일반적인 상황입니다. 여기에는 몇 가지 이유가 있습니다:
- 라이브러리의 외부 의존성 유지: 많은 라이브러리들은 프로젝트에서 직접적으로 번들링되지 않고, 대신에 node_modules 폴더에 설치됩니다. 이러한 라이브러리들을 번들링에 포함시키면 번들 크기가 매우 커지고, 의존성 관리가 어려워집니다. 따라서 externals 설정을 사용하여 라이브러리를 번들링에서 제외시킴으로써 번들 크기를 최소화할 수 있습니다.
- 서버 사이드 렌더링(SSR)과 호환성: 서버 사이드 렌더링을 구현하는 경우, 서버에서 사용되는 라이브러리들이 클라이언트와 달라질 수 있습니다. 서버에서는 보통 node_modules 폴더에 있는 라이브러리들을 직접 사용하므로, 이를 번들링에서 제외시키는 것이 SSR과의 호환성을 유지하는 데 중요합니다.
- 외부 라이브러리의 CDN 사용: 번들링에서 외부 라이브러리를 제외시키면, 필요한 라이브러리를 CDN 등 외부 소스에서 불러와 사용할 수 있습니다. 이는 브라우저 캐시를 효과적으로 활용하여 로딩 속도를 개선할 수 있는 장점이 있습니다.
따라서 대부분의 경우에는 node_modules 폴더에 있는 패키지들을 번들링에서 제외하는 것이 권장됩니다. 다만, 프로젝트의 특정한 요구 사항이나 상황에 따라서는 예외가 발생할 수 있으므로, 상황에 맞게 적절한 결정을 내려야 합니다.
'IT > web' 카테고리의 다른 글
[css] 가로 가운데 정렬 (1) | 2024.04.19 |
---|---|
[css] height: 100% 의미 (0) | 2024.04.19 |
[web] zero-runtime 이란? (0) | 2024.04.13 |
[web] thumbnail의 width 값 비율에 따라 height 크기 조절하기 (0) | 2024.04.13 |
[Web] CSS를 어떻게 작성해야 할까? (0) | 2024.02.14 |