webpack配置 公升級版熱更新HMR

2021-10-06 11:16:22 字數 1927 閱讀 2880

在上篇文章中簡單的配置了下熱更新,用於了解的,本篇文章解決熱更新的效能優化問題。

在webpack.config.js檔案中的devserver屬性中增加hot: true

在配置hot: true時,如果出現uncaught error: [hmr] hot module replacement is disabled.錯誤,說明需要安裝hotmodulereplacementplugin外掛程式。在plugins屬性中加入new webpack.hotmodulereplacementplugin()就可以了。

但是,我沒有搞清楚,我的webpack沒有安裝該外掛程式也是可以正常執行的。小夥伴們可以測試下哈。。。

devserver:

樣式檔案可以直接使用hmr功能,因為style-loader內部實現了module.hot.accept的支援

html模板檔案預設不支援hmr,直接在入口檔案將html檔案引入就可以了

entry: ['./src/index.js', './src/index.html']

js檔案不可以,需要配置module.hot.accept,配置請看入口js檔案

index.js中配置

if

(module.hot)

)}

入口檔案:index.js

import

'./css.css'

import replace from

'./replace.js'

console.

log(

"我是入口檔案");

// 配置下面**

if(module.hot)

)// 當然了,也可關閉指定子模組的hmr

// module.hot.decline('./replace.js')

}

replace.js子模組

function

replace()

export

default replace;

webpack.config.js配置檔案

const

=require

('path'

)const htmlwebpackplugin =

require

('html-webpack-plugin'

)module.exports =

, module:,]

,}, plugins:

[new

htmlwebpackplugin()

],mode:

'development'

,/*

hmr: hot module replacement 熱模組替換/模組熱替換

作用:乙個模組發生變化,只會重新打包這乙個模組,而不是打包所有模組,極大的提公升了構建速度

樣式檔案可以直接使用hmr功能,因為style-loader內部實現了module.hot.accept的支援

js檔案不可以,需要配置module.hot.accept 配置請看入口js檔案

html模板檔案預設也不支援hmr,直接在入口檔案將html檔案引入就可以了

*/devserver:

}

webpack4配置熱更新

目錄 step1 step2 step3 在資料夾中建立3個資料夾,分別是 src dist config 然後在src下建立乙個main.js 在dist下建立乙個index.html 在config下建立乙個webpack.dev.js 使用命令列,輸入 git init 建立乙個git的.檔案...

webpack熱更新原理

webpack dev server 主要包含了三個部分 1.webpack 負責編譯 2.webpack dev middleware 主要負責構建記憶體檔案系統,把webpack的 outputfilesystem 替換成 inmemoryfilesystem。同時作為express的中介軟體攔...

介面公升級版

介面公升級版 假設乙個介面由2w個子類實現它 假如在介面內加乙個方法 那麼按照定義就要在這所有的子類裡面都實現 所以我們引入新概念 介面裡可以定義普通方法 即這個普通方法可以不被實現 普通方法就要用default實現 介面還可以實現static方法 呼叫是直接由介面.方法名呼叫 inte ce im...