[리액트] webpack과 hot reloading 설치하기
webpack 개념
바벨종류 | 설명 |
---|---|
@babel/core | 바벨 기본적인 것 |
@babel/preset-env | 브라우저에 맞게 옛날문법을 최신문법으로 바꿔줌(즉, 옛날 문법을 지원해줌)지원할 브라우저를 옵션으로 설정할 수 있다. 지원을 많이할수록 느려진다 |
@babel/preset-react | jsx 지원 |
babel-loader | 바벨과 웹팩을 연결해줌 |
@babel/plugin-proposal-class-properties | state문법사용할 수 있게 만듦 |
webpack 만드는 순서
- 만든 파일 webpack으로 만들기
- npm init
- npm install –save react react-dom
- npm i -D webpack webpack-cli
- npm i -D @babel/core @babel/preset-env @babel/preset-react babel-loader @babel/plugin-proposal-class-properties
- 위 4가지 설치 완료 후에 webpack.config.js 파일 생성 후 작성
- entry파일 생성 -> client.jsx
- Gugudan.jsx파일 생성
- npm run dev 또는 npx webpack
- index.html 파일생성하여 webpack으로 만든 app.js 불러오기
webpack 데브 서버(dev server)와 핫 리로딩(hot reloading)
개념 | 설명 |
---|---|
reloading | 그냥 새로고침 |
hot reloading | 기존데이터 유지하고 변경점만 바뀜 |
plugins | 확장프로그램 |
- react-refresh-webpack 설치하기
- npm i react-refresh @pmmmwh/react-refresh-webpack-plugin -D
- 서버도 필요하기때문에 설치하기 변경점이 생기면 감지하여서 기존데이터 유지하면서 화면을 바꿔줌.
- dev-server 설치하기
- npm i -D webpack-dev-server
- pakage.json scripts 수정
- “dev”: “webpack serve –env development”
- webpack.config.js에서 수정
- plugins추가
1
2
3plugins[
new RefreshWebpackPlugin()
]
- plugins추가