webpack-dev-server、webpack-dev-middleware、webpack-hot-middleware區別

webpack-dev-server:

webpack-dev-server,其實是一個小型Express服務器,它是用webpack-dev-middleware來處理webpack編譯後的輸出。
它是一個靜態資源服務器,只用於開發環境;
webpack-dev-server會把編譯後的靜態文件所有保存在內存裏;前端

webpack-dev-middleware:

是一個處理靜態資源的middleware;webpack

webpack-hot-middleware:

是一個結合webpack-dev-middleware使用的middleware,它能夠實現瀏覽器的無刷新更新(hot reload),這也是webpack文檔裏常說的HMR(Hot Module Replacement)。git

  • webpack-dev-server只適用於純前端的項目, 若是要加入到包含後端服務器的項目中,則須要webpack-dev-middleware和webpack-hot-middleware。github

  • webpack-dev-server就是一個Express 和 webpack-dev-middleware的實現,webpack-dev-server 是封裝好了的, 除了config 和命令行參數以外很難再作定製型的開發,因此它適合純前端的輔助工具。
    而webpack-dev-middleware是一箇中間件, 能夠編寫本身的後端服務, 而後整合進來。web

  • webpack-hot-middleware這個套件只能搭配webpack-dev-middleware使用,其實就是把熱替換的功能加到通常server應用。
    咱們都知道webpack dev server有提供一種Hot Module Replacement/Hot Reloading熱替換的功能。在通常webpack-dev-server的時候咱們會在webpack.config.js加入new webpack.HotModuleReplacementPlugin()或設定來啓用。
    而webpack hot middleware是給webpack-dev-middleware用的。就是讓咱們在通常的server上加上熱替換的功能,總結來講就是webpack-dev-middleware webpack-hot-middleware便可讓咱們用express客制一個有熱替換功能的webpack開發服務器。express

  • 好的介紹文章:http://www.javashuo.com/article/p-tsidacim-s.html
    http://madole.github.io/blog/2015/08/26/setting-up-webpack-dev-middleware-in-your-express-application/segmentfault

相關文章
相關標籤/搜索