문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
wiki:javascript:webpack [2020/08/19 08:57] dhan 만듦 |
wiki:javascript:webpack [2023/01/13 18:44] (현재) |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Webpack ====== | ====== Webpack ====== | ||
+ | <WRAP left notice 80%> | ||
+ | * description : 웹팩 관련 내용 기술 | ||
+ | * author | ||
+ | * email : dhan@repia.com | ||
+ | * lastupdate | ||
+ | </ | ||
+ | <WRAP clear/> | ||
+ | 웹팩은 기본적으로 필요한 자원은 미리 로딩하는게 아니라 그 때 그 때 요청하자는 철학을 갖고 있습니다. | ||
+ | ===== 사용해야 하는 이유 ===== | ||
+ | ===== 장단점 ===== | ||
+ | 1. 단점: | ||
+ | * 사용하기가 어려움 | ||
+ | * | ||
+ | 2. 장점: | ||
+ | * 오래된 브라우저에서 사용할 수 있도록 호환됨 | ||
+ | * 웹 애플리케이션의 빠른 로딩 속도와 높은 성능 | ||
+ | ===== Term ===== | ||
+ | bundler(번들) \\ | ||
+ | 묶음 \\ | ||
+ | \\ | ||
+ | entry \\ | ||
+ | \\ | ||
+ | export \\ | ||
+ | \\ | ||
+ | import \\ | ||
+ | \\ | ||
- | ====== | + | ===== Configuration |
+ | webpack.config.js [[https:// | ||
+ | <code javascript> | ||
+ | const path = require(' | ||
+ | module.exports = { | ||
+ | mode: " | ||
+ | | ||
+ | | ||
+ | path: path.resolve(__dirname, | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | > 실행1: npx webpack --config webpack.config.js or npx webpack --config webpack.config.prod.js | ||
+ | > 실행2: npx webpack (설정파일이 webpack.config.js일 경우 생략 가능) | ||
+ | |||
+ | ===== Install | ||
1. Node.js 설치 \\ | 1. Node.js 설치 \\ | ||
2. npm init \\ | 2. npm init \\ | ||
- | 3. npm install -D webpack webpack-cli \\ | + | 3. npm install -D webpack webpack-cli |
+ | 4. npx webpack --entry source/ | ||
+ | |||
+ | ===== css ===== | ||
+ | Loader을 이용하여 css bundle [[https:// | ||
+ | <code bash> | ||
+ | npm install --save-dev style-loader css-loader | ||
+ | </ | ||
+ | \\ | ||
+ | <code javascript> | ||
+ | const path = require(' | ||
+ | module.exports = { | ||
+ | mode: " | ||
+ | | ||
+ | | ||
+ | path: path.resolve(__dirname, | ||
+ | | ||
+ | }, | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | use:[ // 뒤부터 먼저 실행됨(chaining 체이닝) | ||
+ | ' | ||
+ | ' | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | > 실행: npx webpack | ||
+ | \\ | ||
+ | ===== Output ===== | ||
+ | <code javascript> | ||
+ | const path = require(' | ||
+ | module.exports = { | ||
+ | mode: " | ||
+ | | ||
+ | | ||
+ | path: path.resolve(__dirname, | ||
+ | | ||
+ | }, | ||
+ | | ||
+ | | ||
+ | { | ||
+ | | ||
+ | use:[ // 뒤부터 먼저 실행됨(chaining 체이닝) | ||
+ | ' | ||
+ | ' | ||
+ | ] | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | \\ | ||
+ | ===== Plugin ===== | ||
+ | |||
+ | npm install --save-dev html-webpack-plugin | ||
+ | |||
+ | ===== Ref ===== | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | {{tag> |