웹팩(Webpack)이란
웹팩은 왜 써야할까
웹팩 설치하기
$ cd project // 웹팩 설치할 폴더로 이동
$ npm init
$ npm i react react-dom
$ npm i -D webpack webpack-cli // -D 개발에서만 사용한다.
webpack.config.js
module.exports = {}
client.jsx
// 설치할 패키지 import
const React = require("react");
const ReactDOM = require("react-dom");
ReactDOM.render(<WordRelay />, document.querySelector("#root"));
WordRelay.jsx
const React = require("react");
const { Component } = React;
class WordRelay extends Component {
state = {
text: "Hello, webpack",
};
render() {
return <h1>{this.state.text}</h1>;
}
}
module.exports = WordRelay;
client.jsx
// 설치할 패키지 import
const React = require("react");
const ReactDOM = require("react-dom");
const WordRelay = require("./WordRelay"); // 필요한 것만 호출할 수 있는 모듈 구조!
ReactDOM.render(<WordRelay />, document.querySelector("#root"));
webpack.config.js
const path = require("path"); // node에서 경로 조작하는 기능
Module.exports = {
name: "word-relay-setting", // 1. name
mode: "development", // 2. webpack 동작 모드
devtool: "eval", // 3. devtool
resolve: {
extensions: [".js", ".jsx"], // 4. 확장자명 모음
},
// 5. 입력
entry: {
app: ["./client"],
},
// 6. 출력
output: {
path: path.join(__dirname, "dist"), // 7. node 문법 path
filename: "app.js",
},
};
웹팩으로 실행할 수 있는 방법은 크게 2가지있다.
{
"name": "word-relay",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"dev": "webpack" // 설정 후 터미널에 npm run dev
},
"author": "Vicky",
"license": "MIT",
"dependencies": {
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"devDependencies": {
"webpack": "^5.15.0",
"webpack-cli": "^4.4.0"
}
}
$ npx webpack