npm init
명령어를 입력한다.📄 package.json
{
"name": "lecture",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "hyerin",
"license": "MIT"
}
npm i -D webpack webpack-cli
웹팩이란 최신 프런트엔드 프레임워크에서 가장 많이 사용되는 모듈 번들러(Module Bundler)이다.
모듈 번들러는 웹 애플리케이션을 구성하는 자원(HTML, CSS, Javscript, Images 등)을 모두 각각의 모듈로 보고 이를 조합해서 병합된 하나의 결과물을 만드는 도구를 의미한다.
webpack
: webpackwebpack-cli
: webpack과 관련된 명령어를 사용할 수 있게 해주는 패키지
npm i react react-dom
npm i -D @babel/core @babel/preset-env @babel/preset-react babel-loader
바벨은 ES6+ 버전 이상의 자바스크립트나 JSX 코드를 현재 및 과거의 브라우저와 같은 환경에서 호환되는 버전으로 변환하는데 주로 사용되는 도구이다.
babel/core
: babel 기본 요소babel/preset-env
: 유저의 환경에 맞게 최신 문법을 옛날 문법으로 바꾸어줌babel/preset-react
: JSX 지원babel-loader
: babel과 웹팩 연결
root 경로에 웹팩 설정 파일인
webpack.config.js
파일을 생성한다.
📄 weback.config.js
const path = require("path");
module.exports = {
name: "wordrelay-setting",
mode: "development",
devtool: "eval",
resolve: {
extensions: [".js", ".jsx"],
},
entry: { // 입력
app: ["./client"],
},
module: {
rules: [
{
test: /\.jsx?/,
loader: "babel-loader",
options: {
presets: ["@babel/preset-env", "@babel/preset-react"],
plugins: ["@babel/plugin-proposal-class-properties"],
},
},
],
},
output: { // 출력
path: path.join(__dirname, "dist"),
filename: "app.js",
},
};
- mode
development
: 개발용
production
: 실서비스
- entry
웹팩이 파일을 읽어들이기 시작하는 부분
- output
결과물의 파일 경로
filename
: 웹팩으로 빌드한 파일이름
path
: 해당 파일의 경로
npm run dev
혹은 npx webpack
로 빌드
'웹 게임을 만들며 배우는 React' 강의를 수강하며 학습한 내용에 대해
개인적으로 공부하며 정리한 글입니다.