채널톡 아이콘

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

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

(5.0) 수강평 23개

수강생 216명

난이도 초급

수강기한 무제한

실습 중심
실습 중심
핵심원리
핵심원리
실습 중심
실습 중심
핵심원리
핵심원리

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

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

5.0

5.0

서정우

98% 수강 후 작성

번들러는 webpack, vite 정도의 얕은 깊이로만 알고 있었는데 강의 듣고 원리를 이해할 수 있게 되었습니다. 감사합니다

5.0

Seo Tr

91% 수강 후 작성

프론트엔드 개발에서 놓치기 쉬운 부분들을 명확하고 쉽게 설명을 해주시네요. 모듈시스템을 대충대충 알고 넘어가기 쉬운데 개념부터 자세히 나와있어서 해당부분에서 애매하게 알고있다면 강추입니다. 아는것과 모르는것은 큰 차이가 있는데 시간내서 미리 공부할걸 싶었네요

5.0

chaeyeon

35% 수강 후 작성

프론트엔드 개발하면서 늘 헷갈렸던 JS 모듈 시스템… 강의를 들으면서 정리되고 있는 거 같아요. CommonJS, AMD, ESM, UMD 개념은 물론, 왜 그런 구조가 생겨났는지 역사적인 맥락까지 설명해주셔서 머리에 체계가 잡혀가고 있는 중입니다. 특히 Webpack, Vite 같은 최신 도구에서 모듈 시스템이 어떻게 작동하는지도 실제 설정 파일을 뜯어보며 알려줘서, 도구에 끌려 다니던 제 자신을 성찰하고 갑니다 ㅎㅎ 남은 강의도 열심히 들으면서 무럭무럭 성장해보겠습니다. 좋은 강의 감사합니다 :)

수강 후 이런걸 얻을 수 있어요

  • 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

안녕하세요
Rafael입니다.

216

수강생

23

수강평

1

답변

5.0

강의 평점

1

강의

(현) 카카오모빌리티

(전) 버즈니

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

 

더보기

공동 지식공유자

커리큘럼

전체

43개 ∙ (5시간 12분)

해당 강의에서 제공:

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

수강평

전체

23개

5.0

23개의 수강평

  • 유동균님의 프로필 이미지
    유동균

    수강평 1

    평균 평점 5.0

    5

    17% 수강 후 작성

    • Rafael님의 프로필 이미지
      Rafael

      수강평 1

      평균 평점 5.0

      5

      12% 수강 후 작성

      • Seo Tr님의 프로필 이미지
        Seo Tr

        수강평 1

        평균 평점 5.0

        수정됨

        5

        91% 수강 후 작성

        프론트엔드 개발에서 놓치기 쉬운 부분들을 명확하고 쉽게 설명을 해주시네요. 모듈시스템을 대충대충 알고 넘어가기 쉬운데 개념부터 자세히 나와있어서 해당부분에서 애매하게 알고있다면 강추입니다. 아는것과 모르는것은 큰 차이가 있는데 시간내서 미리 공부할걸 싶었네요

        • chaeyeon님의 프로필 이미지
          chaeyeon

          수강평 1

          평균 평점 5.0

          5

          35% 수강 후 작성

          프론트엔드 개발하면서 늘 헷갈렸던 JS 모듈 시스템… 강의를 들으면서 정리되고 있는 거 같아요. CommonJS, AMD, ESM, UMD 개념은 물론, 왜 그런 구조가 생겨났는지 역사적인 맥락까지 설명해주셔서 머리에 체계가 잡혀가고 있는 중입니다. 특히 Webpack, Vite 같은 최신 도구에서 모듈 시스템이 어떻게 작동하는지도 실제 설정 파일을 뜯어보며 알려줘서, 도구에 끌려 다니던 제 자신을 성찰하고 갑니다 ㅎㅎ 남은 강의도 열심히 들으면서 무럭무럭 성장해보겠습니다. 좋은 강의 감사합니다 :)

          • 서정우님의 프로필 이미지
            서정우

            수강평 5

            평균 평점 5.0

            5

            98% 수강 후 작성

            번들러는 webpack, vite 정도의 얕은 깊이로만 알고 있었는데 강의 듣고 원리를 이해할 수 있게 되었습니다. 감사합니다

            비슷한 강의

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

            ₩58,300