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' 강의를 수강하며 학습한 내용에 대해
개인적으로 공부하며 정리한 글입니다.