사용자 도구

사이트 도구


wiki:javascript:webpack

Webpack

  • description : 웹팩 관련 내용 기술
  • author : 주레피
  • email : dhan@repia.com
  • lastupdate : 2020-08-19

웹팩은 기본적으로 필요한 자원은 미리 로딩하는게 아니라 그 때 그 때 요청하자는 철학을 갖고 있습니다.

사용해야 하는 이유

장단점

1. 단점:

  • 사용하기가 어려움

2. 장점:

  • 오래된 브라우저에서 사용할 수 있도록 호환됨
  • 웹 애플리케이션의 빠른 로딩 속도와 높은 성능

Term

bundler(번들)
묶음

entry

export

import

Configuration

webpack.config.js configuration

const path = require('path');
module.exports = {
   mode: "development", // 없으면 production
   entry:"./source/index.js",
   output:{
       path: path.resolve(__dirname, "public"), // __dirname mean webpack.config.js가 위치한 위치
       filename: 'index_bundle.js'
   }
}
실행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 설치
2. npm init
3. npm install -D webpack webpack-cli // -D = –save-dev
4. npx webpack –entry source/index.js –output ./public/index_bundle.js

css

Loader을 이용하여 css bundle loaders

npm install --save-dev style-loader css-loader


const path = require('path');
module.exports = {
   mode: "development", // 없으면 production
   entry:"./source/index.js",
   output:{
       path: path.resolve(__dirname, "public"), // __dirname mean webpack.config.js가 위치한 위치
       filename: 'index_bundle.js'
   },
   module:{
       rules:[
           {
               test:/\.css$/,
               use:[ // 뒤부터 먼저 실행됨(chaining 체이닝)
                   'style-loader', // js -> css
                   'css-loader' // *.css -> js
               ]
           }
       ]
   }
}
실행: npx webpack


Output

const path = require('path');
module.exports = {
   mode: "development", // 없으면 production
   entry:"./source/index.js",
   output:{
       path: path.resolve(__dirname, "public"), // __dirname mean webpack.config.js가 위치한 위치
       filename: '[name]_bundle.js'
   },
   module:{
       rules:[
           {
               test:/\.css$/,
               use:[ // 뒤부터 먼저 실행됨(chaining 체이닝)
                   'style-loader', // js -> css
                   'css-loader' // *.css -> js
               ]
           }
       ]
   }
}


Plugin

npm install –save-dev html-webpack-plugin

Ref

/volume1/web/dokuwiki/data/pages/wiki/javascript/webpack.txt · 마지막으로 수정됨: 2023/01/13 18:44 (바깥 편집)