webpack 설정 및 설명
글 작성자: 망고좋아
반응형
🎯 webpack 설정 및 설명
- webpack에 대해서 하나하나 알아보자.
📝 npm으로 리액트 설정하기
npm itit
npm i react-dom
npm i -D webpack webpack-cli
npm i babel-loader @babel/core
npm i -D @babel/preset-env // 알아서 환경에 맞게 바벨로 맞춰주는 거
npm i -D @babel/preset-react // jsx 쓸 수 있음
"@babel/core"
- 기본, 최신 문법으로 변환"@babel/preset-env"
- 각자 컴퓨터 환경에 맞게 바꿔주는 거"@babel/preset-react"
- jsx 바꿔주는 거"babel-loader"
- 바벨이랑 웹팩 연결해주는 거"webpack"
"webpack-cli"
📝 webpack 기본 설정
const path = require('path');
module.exports = {
mode: 'development',
devtool: 'eval',
entry: {
},
module: {
rules: [{
}],
},
plugins: [
],
output: {
},
};
- entry
- module
- plugins
- output
📝 webpack 설명
const path = require("path");
const webpack = require("webpack");
module.exports = {
name: "gugudan-setting", // 웹팩 설정 이름
mode: "development",
devtool: "eval", // 실 서비스에서는 : production
resolve: {
extensions: [".js", ".jsx"], // 이렇게 작성해 주면 알아서 client.js 나 client.jsx가 있는지 알아서 확인한다.
},
// 입력
entry: {
app: "./client", // resolve를 작성해 줌으로써 확장자를 안 적어줘도 된다.
},
// 엔트리에 파일을 읽고 모듈을 적용해서 아웃풋으로 뺀다
module: {
rules: [
{
test: /\.jsx?/, // js랑 jsx 파일에 룰을 적용하겠다.
loader: "babel-loader", //js랑 jsx 파일에 바벨 룰을 적용하겠다.
// 바벨 옵션
options: {
// plugin들의 모음이 preset이다.
presets: [
// ['프리셋 이름', {설정 요소들}]
["@babel/preset-env", {
targets: {
browsers: ["> 5% in KR", "last 2 chrome versions"], // browserlist
},
debug: true,
}],
["@babel/preset-react"],
],
plugins: []
},
}],
},
plugins: [
new webpack.LoaderOptionsPlugin({ debug: true })
],
// 출력
output: {
filename: "app.js",
path: path.join(__dirname, "dist"), // 현재 폴더 경로 안에 들어 있는 dist 폴더 경로를 간편하게 표기
},
};
📌 참고
반응형
'프로그래밍 > webpack' 카테고리의 다른 글
[Webpack] 웹팩 alias 단축 별명으로 절대 경로 설정하기 (0) | 2022.02.10 |
---|