[FrontEnd] HMR(Hot Module Replacement)

2022. 5. 22. 01:15ใ†Front-End ์ž‘์—…์‹ค/๊ธฐํƒ€ ์ฐธ๊ณ  ์ž๋ฃŒ

728x90
๋ฐ˜์‘ํ˜•

 

 

๐Ÿš€ HMR(Hot Module Replacement)

`HMR`์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ ๊ณ ์น˜์ง€ ์•Š์•„๋„ `Web Pack`์œผ๋กœ Buildํ•œ ๊ฒฐ๊ณผ๋ฌผ์ด Web Application์— ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์„ค์ • ์ž…๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ์ƒˆ๋กœ ๊ณ ์นจ์„ ์œ„ํ•œ `Live Reload` ๋Œ€์‹  ์ด์šฉ ๊ฐ€๋Šฅํ•˜๊ณ , `Web Pack Dev Server`์™€ ํ•จ๊ป˜ ์ด์šฉํ•  ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์ด์—์š”.

 

๋ฐ˜์‘ํ˜•

 

    ๐Ÿ”ฝ  HMR ์„ค์ •

React.js, ์•ต๊ทค๋Ÿฌ, Vue.js์™€ ๊ฐ™์ด ๋Œ€๋ถ€๋ถ„์˜ Framework์—์„œ ์ด๋ฏธ `HMR`์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” Loader๋“ค์„ ์ง€์›ํ•˜๊ณ  ์žˆ์œผ๋‚˜, ๋งŒ์•ฝ ๊ฐœ๋ณ„์ ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

module.exports = {
  devServer: {
    hot: true
  }
}


Dev Server์— Option์œผ๋กœ `hot:true`๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , Java Script๋‚˜, CSS ์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ํ•ด๋‹น Module์ด ๋ฐ”๋กœ Update๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ํ™”๋ฉด์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋‹ค์‹œ ๋กœ๋”ฉ๋˜์ง€ ์•Š๊ณ ๋„ ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋ฐ”๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

 

 

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•