문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
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> | ||