控制台報錯[WDS] Disconnected!


webpack的HMR功能,是通過websocket實現的推送JSON Patch,同時需要第三方支持的庫。

具體的解決方案:

     熱加載(HMR)是webpack dev server最強大的功能之一,頁面源碼更改無需刷新就能實時推送到頁面。以vue為例,最簡單的HMR配置策略如下:

     首先是下載webpack-dev-server與前端的js庫的HMR依賴:  npm i webpack-dev-server

         之后編輯package.json中的命令,在script中配置dev-server:

       添加了這一行代碼后,運行 npm run dev-server即可實現HMR功能的dev-server引入。這也相當於在沒有修改業務代碼的情況下,完成了HMR的引入。但是如果需對webpack-dev-server進行配置,可以編輯webpack.config.js中的module. devServer的相關字段。

       雖然HMR非常使用,但與webpack-dev-server的集成也一定程度上影響了其泛用性。在一些場景下,我們仍然需要在開發時使用webpack寫入到磁盤的bundle文件,這時候就無法使用的dev-server配套的HMR。這就給我們引出一個問題,如何在配置中實現既支持HMR,又支持--watch的傳統開發模式呢?

       通過npm scripts,可以很容易的區分帶HMR和不帶HMR的構建命令,如下所示:

    

 

      會區分兩條構建開發包的命令,區別在於通過wepack的命令會將打包文件動態寫入磁盤,而webpack-dev-server的命令可以在使用webpack配置文件的基礎上,無縫引入HMR特性。這樣,可以在開發環境不適合使用HMR的場合中也可以通過npm run dev命令實現回退。

                


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM