웹팩을 사용할 경우 코드를 조금만 수정하더라도 npm run dev 또는 npx webpack을 통해 다시 리로딩을 해야하는 것이 불편함.
그럴때 조금씩 수정한건 바로 반영이 되도록 하는 핫 리로딩 방법
// 터미널에서
npm i react-refresh @pmmmwh/react-refresh-webpack-plugin -D
//react refresh와 webpack refresh를 개발용으로 설치
//개발용 서버도 한개 설치
npm i -D webpack-dev-server
package.json에서
script dev 명령어를 "webpack serve --env development"로 수정
설치한 wepack refresh plugin 호출
const RefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
그리고 plugin에 넣어준다
plugins : [
new RefreshWebpackPlugin()
]
babel-loader의 plugin도 수정
plugins : [
'react-refresh/babel'
]
webpack.config.js 하단에 devServer 추가
devServer : {
publicPath : '/dist/', //output의 publicPath를 그대로 가져옴.
hot : true,
},
리로딩 = 새로고침
새로고침을 할 경우 기존에 입력된 데이터가 날라감.
핫 리로딩은 수정된 부분만 새로고침.
핫 리로딩은 에러 발생 시에도 바로 콘솔에 표시가 됨.