home강의 홈으로
Section 15. 코드파일 다루기
Lesson 3. 웹팩과 바벨

I. 웹팩 Webpack

  • 번들러 bundler - 프로젝트에 사용되는 파일들을 하나 또는 소수의 파일들로 압축
  • 어플리케이션이 로딩 및 실행 속도 향상
  • 각종 플러그인과 옵션을 사용하여 코드를 다양한 방법으로 변환/압축 가능
  • 🧊 공식 사이트 보기
  • 동종/유사 제품: RollUp, Parcel, Gulp, Vite...


⭐ 프로젝트에 사용해보기


0. 소스 저장소 분리하기

  • src 폴더를 만들고 .js파일들 모두 이동

1. 프로젝트에 웹팩 설치

npm install webpack webpack-cli --save-dev

2. 웹팩 설정 파일

webpack.config.js

const path = require('path'); module.exports = { entry: './src/main.js', output: { filename: 'main.js', path: path.resolve(__dirname, 'dist'), }, // 💡 추가설정들 watch: true, // 파일 수정 후 저장시 자동으로 다시 빌드 experiments: { topLevelAwait: true // 모듈 await 가능하도록 } };
  • ./src/main.js 파일과, 연결된 모든 모듈들을 ./dist/main.js 파일로 통합


3. 빌드 명령 추가

package.json

"scripts": { "build": "webpack" },
  • script 항목에 "build": "webpack" 추가
  • { "type": "module" } 부분 제거하기


4. 빌드 및 실행

npm run build
  • 위 명령어로 빌드 실행
  • 💡 ./dist/main.js 파일 확인 - javascript beautifier 사이트들에서 살펴보기
  • HTML 파일에서 scriptsrc./dist/main.js로 변경
  • 페이지에서 확인, 코드 수정 후 변화 확인




II. 바벨

  • 자바스크립트를 보다 오래된 환경에서 동작할 수 있는 버전으로 컴파일
  • 🏋️ 공식 사이트 보기
  • 기타 방법: 타입스크립트 컴파일러 사용


1. 🔗 사이트에서 체험해보기

TARGETS를 아래로 설정

ie 11

아래의 코드들 붙여넣어보기

const x = 1; let y = 2; const add = (x, y) => x + y; const { length } = [1, 2, 3]; class Bird { wings = 2 } const 새돌이 = new Bird();


2. 웹팩 프로젝트에 적용해보기

1. 프로젝트에 관련 모듈 설치

npm install --save-dev babel-loader @babel/core @babel/preset-env

2. 웹팩에 설정 추가

webpack.config.js에 아래의 프로퍼티들 추가

target: ['web', 'es5'], // ⭐ ES5 이하로 해야 할 시 필요 module: { rules: [ { test: /\.m?js$/, exclude: /node_modules/, use: { loader: 'babel-loader', options: { presets: [ ['@babel/preset-env', { targets: "ie 11" }] ] } } } ] }

3. 빌드하고 결과 확인

npm run build
  • 위 명령어로 빌드 실행
  • 💡 ./dist/main.js 파일 확인 - javascript beautifier 사이트들에서 살펴보기

🤔얄코에게 질문하기질문은 반.드.시 이리로 보내주세요! ( 강의사이트 질문기능 ✖ )

강의에서 이해가 안 되거나 실습상 문제가 있는 부분,
설명이 잘못되었거나 미흡한 부분을 메일로 알려주세요!

답변드린 뒤 필요할 경우 본 페이지에
관련 내용을 추가/수정하도록 하겠습니다.

이메일 주소
yalco@yalco.kr
메일 제목 (반드시 아래 제목을 붙여넣어주세요!)
[질문] 제대로 파는 자바스크립트 (유료 파트) 15-3

🛑질문 전 필독!!

  • 구글링을 먼저 해 주세요. 들어오는 질문의 절반 이상은 구글에 검색해 보면 1분 이내로 답을 찾을 수 있는 내용들입니다.
  • 오류 메시지가 있을 경우 이를 구글에 복붙해서 검색해보면 대부분 짧은 시간 내 해결방법을 찾을 수 있습니다.
  • 강의 페이지에 추가사항 등 놓친 부분이 없는지 확인해주세요. 자주 들어오는 질문은 페이지에 추가사항으로 업데이트됩니다.
  • "유료파트의 강의페이지는 어디 있나요?" - 각 영상의 시작부분 검은 화면마다 해당 챕터의 강의페이지 링크가 있습니다.
  • 질문을 보내주실 때는 문제가 어떻게 발생했고 어떤 상황인지 등을 구체적으로 적어주세요. 스크린샷을 첨부해주시면 더욱 좋습니다.
🌏 Why not change the world?