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

相关文章
相关标签/搜索