강의

멘토링

커뮤니티

개발 · 프로그래밍

/

프론트엔드

프론트엔드 빌드 시스템 완벽 가이드 - Part.1: 모듈 시스템

"JS 빌드 시스템, 아직도 헷갈리세요?" 들어도 와닿지 않았던 JS 빌드 시스템의 개념과 실습을 하나로!

(5.0) 수강평 20개

수강생 187명

  • Rafael
  • 유동균
실습 중심
핵심원리
JavaScriptNode.jsWebpackviteesm

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • JS 모듈 시스템의 발전 과정과 CJS, AMD, ESM, UMD 깊이 있는 동작 원리

  • require, import, define 헷갈렸던 모든 문법을 시나리오 별 실습으로 정리

  • Vite, SWC, TypeScript, Webpack 등 최신 도구에서의 모듈 시스템 완전 분석

  • 순환참조, 조건부 로딩, 비동기 모듈까지, 실제로 부딪히는 문제 해결 노하우

🛠 툴에 휘둘리지 않는 프론트엔드 개발자를 위한 모듈 시스템!

JS 모듈 시스템을 이해하고나면, Webpack, Vite 는 더 이상 두려움의 대상이 아닙니다!

  • 실무에서 번들러, 패키지 매니저, 트랜스파일러를 100% 활용하기 위해선 모듈 시스템의 원리를 정확히 이해하고 있어야 합니다.


  • 어떤 새로운 툴이 나와도 모듈 시스템 개념이 확실하다면 누구보다 빠르게 도구를 활용할 수 있습니다.


  • 라이브러리를 직접 만들거나 배포하는 경우에도, CJS, ESM, UMD 빌드 전략을 알아야 오류 없는 라이브러리를 제공할 수 있습니다.

🙋‍♀ 이런 분들께 추천해요!

프론트엔드 개발 환경을 기초 부터 실전까지 완벽히 이해하고, 자신이 원하는대로 환경을 구성하고 싶은 개발자

CJS, ESM, AMD, UMD 가 뭔지 아직도 이해 못하는 주니어 개발자

Webpack, Vite, Rollup, Babel 등 빌드 도구의 핵심 개념을 이해하고 실무에서 100% 활용하고 싶은 개발자


🚀 수강 후에는

  • ES Module, CommonJS, AMD 등 각 방식의 차이를 확실히 이해하고, 언제 어디서든 적절히 선택·응용할 수 있게 됩니다.

  • Vite, Rollup, Webpack, Babel 등 주요 툴의 모듈 시스템 연동 원리를 꿰뚫어 보고, 복잡한 설정도 두려움 없이 커스터마이징할 수 있습니다.

  • JS 빌드 시스템을 이해하고 배포 파이프라인에서 발생하는 모듈 오류를 신속히 진단·해결할 수 있습니다.


  • 모듈 시스템과 툴 체인의 종합적 이해로, 팀의 아키텍처 결정에 주도적으로 참여할 수 있습니다.


👨‍🏫 이런 내용을 배워요

1. JS 모듈시스템의 발전을 한 강의로

CJS부터 ESM까지, 자바스크립트 모듈 시스템의 발전과정을 시간 순으로 정리합니다.

  • AMD는 왜 CJS와 분리됐을까?

  • Node.js가 CommonJS를 채택한 이유

  • UMD가 해결하려고 했던 문제

  • Webpack, Babel 의 등장 이유



2. 각 모듈 시스템의 동작 원리와 실습

require, define, import 가 실제로 어떤 구조로 동작하는지 직접 눈으로 확인하고 실습해봅니다.

  • CommonJS
    → 모듈 스펙, 패키지 스펙 소개


    → CJS 동작 원리 Deep Dive
    → Resolution~Caching 전 과정 설명
    → 동작원리 기반 CJS 실습 (순환참조 등)
    → CJS로 만들어진 패키지 분석

  • AMD


    define 함수, 비동기 모듈 로딩 흐름
    → RequireJS를 활용한 AMD 실습

  • ES Module


    .mjs, export 종류, 동적 import 등 소개


    → Parsing~Evaluation 흐름 Deep Dive
    → 동작원리 기반 ESM 실습
    → 모듈 그래프 시각화
    → 순환참조 설명 및 CJS와 비교

  • UMD
    → UMD 소개

    브라우저 & Node.js 양쪽 호환
    → 범용 라이브러리 실습



🧪 각 모듈 시스템의 동작 원리를 곁들이며 직접 실습하면서, 추상적인 개념이 아닌 실전 지식을 습득합니다.


3. 개발 도구 별 모듈 시스템 실전 실습

Webpack, Vite, Babel 등의 환경에서 어떤 원리와 과정으로 모듈을 빌드하는지 살펴봅니다.

  • Package.json

  • Typescript (tsc)

  • Babel


  • Webpack

  • Rollup

  • Vite

  • ESLint

🔧 툴 설정을 “외우는” 것이 아닌, 내부 동작 원리를 기반으로 “설계”할 수 있게 됩니다.

이 강의를 만든 사람


유동균

  • (전) 라인 파이낸셜 프론트엔드 개발자

  • 삼성 SSAFY, 프로그래머스 등 프런트엔드 개발 강의

  • 웹 성능 최적화 강의 제작 및 책 출판

  • 마이크로소프트웨어 393호(JS 주제), 392호(블록체인 주제) 기고

Rafael

  • (현) 카카오OO 프론트엔드 개발자


🤷‍♀ "라이브러리를 만들어 배포하려 했는데, 누군가는 되고 누군가는 안 됩니다."
🤷‍♂ "Webpack, Vite 설정을 인터넷 보고 하긴 했는데, 사실 무슨 의미인지 모르겠어요."
🤷 "import/export, require/module.exports가 뒤엉켜 있는 프로젝트를 어떻게 정리하죠?"

9년 넘게 프론트엔드 개발과 라이브러리 설계, 번들러 최적화를 해오면서,
이런 질문을 팀에서 수도 없이 받아왔습니다.

대부분의 개발자들은 툴 사용법은 알지만, 왜 그렇게 동작하는지는 깊게 이해하지 않고 넘어가기 급급합니다.
그러다 에러가 발생하거나 커스텀이 필요한 순간 무너지게 되죠.

저희는 이런 답답함을 해결해보고자 이 강의를 만들었습니다.

이 강의는 단순히 모듈을 설명하는 강의가 아닙니다.
실제로 실무에서 "왜 이 설정을 해야 하고", "왜 이런 충돌이 일어나는가"에 대한
진짜 이유와 해결법을 알려주는 강의입니다.

툴을 자유롭게 쓰고 싶은 실무 개발자에게 이보다 더 필요한 강의는 없을 겁니다.

궁금한 점이 있나요?

Q. 모듈 시스템을 왜 배워야 하나요?

실무에서 require와 import를 혼용하면 반드시 충돌이 발생합니다. 각 모듈 시스템의 동작 원리를 이해해야 에러 없이 프로젝트를 구성할 수 있습니다.

Q. 초보자도 들을 수 있나요?

네, 충분히 들을 수 있습니다.

이 강의는 “모듈 시스템이라는 단어가 생소한 분”도 이해할 수 있도록
자바스크립트 모듈의 개념 자체부터 차근히 설명합니다.

import, export, require 같은 문법을 한 번이라도 써보신 분이라면 OK
번들러(Webpack, Vite)를 써봤지만 왜 그렇게 설정하는지는 모르겠는 분이라면 더 좋습니다

오히려 모듈 시스템 개념을 처음 접하는 분일수록 “왜 이걸 써야 하는지” 명확하게 이해하실 수
있습니다

강의 중 개념이 나올 때마다 시각화된 흐름도, 예제 코드, 실습으로 반복 설명해드립니다.

Q. 어떤 실습을 하나요?

2장에선 각 모듈 시스템을 배울 땐 직접 모듈을 만들어보고 실무와 비슷한 환경에서의 실습을 통해 오류를 같이 해결해 나갑니다.

3장에선 여러 프론트엔드 개발환경 도구 툴들에서 모듈 시스템을 직접 구현해가며 마주할 수 있는 이슈를 해결해나갑니다.

수강 전 참고 사항

실습 가능 환경

  • 운영 체제 및 버전(OS): Windows, macOS

  • 사용 도구: 코드 에디터 (VS Code, cursor, Webstorm 등 무관)

    • 강의에선 VS Code로 설명

학습 자료

  • 강의 시 PPT로 진행되는 부분은 PDF로 제공됩니다.

  • 실습 예제는 github 으로 제공됩니다.

이 강의는 시리즈 강의의 첫 번째 강의입니다.

  • 시리즈 강의로 패키지 매니저, 번들러, 트랜스파일러 강의가 이어서 출시될 예정입니다!


이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 프론트엔드 개발 환경을 이해하고 고수가 되고 싶으신 분

  • CJS, AMD, UMD, ESM 말로만 들었지, 제대로 이해하지 못하는 주니어 개발자

  • 빌드 도구가 어떻게 동작하는지 원리부터 실전까지 이해하고 싶으신 분

  • Webpack과 Babel 등 빌드 툴과 씨름하느라 시간을 많이 낭비하신 분

  • module not found, circular dependency 에러에 시달려본 분

선수 지식,
필요할까요?

  • JavaScript

안녕하세요
입니다.

187

수강생

20

수강평

1

답변

5.0

강의 평점

1

강의

(현) 카카오모빌리티

(전) 버즈니

(전) 롯데쇼핑 e커머스사업본부

 

커리큘럼

전체

43개 ∙ (5시간 12분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

20개

5.0

20개의 수강평

  • oracion님의 프로필 이미지
    oracion

    수강평 5

    평균 평점 5.0

    5

    98% 수강 후 작성

    I only knew about bundlers like webpack and vite at a shallow level, but after taking the lecture, I was able to understand the principles. Thank you.

    • hackurity01님의 프로필 이미지
      hackurity01

      수강평 1

      평균 평점 5.0

      5

      17% 수강 후 작성

      • seobm79968177님의 프로필 이미지
        seobm79968177

        수강평 1

        평균 평점 5.0

        수정됨

        5

        91% 수강 후 작성

        They clearly and easily explain the often-overlooked aspects of frontend development. It's easy to just gloss over module systems, but since it covers the concepts in detail from the fundamentals, it's highly recommended if you have a vague understanding of that area. There's a big difference between knowing and not knowing; I wish I had taken the time to study this earlier.

        • solidinfra님의 프로필 이미지
          solidinfra

          수강평 1

          평균 평점 5.0

          5

          12% 수강 후 작성

          • chloe111님의 프로필 이미지
            chloe111

            수강평 1

            평균 평점 5.0

            5

            35% 수강 후 작성

            The JS module system, which I always found confusing while doing frontend development... seems to be getting sorted out as I listen to the lecture. Not only the concepts of CommonJS, AMD, ESM, UMD, but also the historical context of why such structures emerged has been explained, so a framework is being established in my mind. Especially, by showing how the module system works in modern tools like Webpack and Vite, by examining actual configuration files, I'm reflecting on myself who used to be at the mercy of tools. 😊😊 I will diligently listen to the remaining lectures and strive to grow significantly. Thank you for the great lecture :)

            ₩58,300

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!