$ npm i -D webpack webpack-cli
ES2015 이전 모듈 환경
ES2015부터 문법 수준의 모듈을 지원함
이전에는 아래와 같이 각 커뮤니티에서 각자의 스펙을 제안
- CommonJS: exports 키워드로 모듈을 만들고, require()함수로 불러 들이는 방식
- AMD(Asynchronous Module Definition): 비동기로 로딩되는 환경에서 모듈로 사용하는것이 목표
- UMD(Universal Module Definition): AMD 기반으로 CommonJS방식까지 지원하는 통합 형태
"development"
: 개발환경 최적화"production"
: 운영(배포)환경 최적화"none"
--ouput-path dist/
$ node_modules\.bin\webpack --mode development --entry ./src/app.js --output-path dist/
웹팩을 설정할때마다 매번 긴 옵션을 입력할 수 없으니 설정파일을 만들어서 관리
webpack.config.js
or webpackfile.js
// webpack은 Node.js 위에서 돌아가는 프로그램이라 Node.js가 사용하는 모듈시스템(Commonjs)을 이용
const path = require('path');
// path 모듈 가져오기
module.exports = {
mode: 'development',
entry: {
main: './src/app.js'
},
output: {
path: path.resolve('./dist'), // path.resolve => 절대경로 계산
filename: '[name].js' // [name] => entryt에서 설정한 key값 === 'main'
}
}
npm scripts 등록
- npm은 현재 node_modules를 뒤져서 webpack 명령어를 찾는다.
- 웹팩 기본 설정파일을 읽어서 번들링 작업 실행
"scripts": { "build": "webpack" }