Webpack Dev Server

1、概述

        Webpack Dev Server 是 Webpack 提供的一个开发辅助工具,主要功能是通过本地服务器实时刷新页面。

        1、核心功能:

  • 自动打包与页面热更新:当代码发生变化时,Webpack Dev Server 能够自动重新打包并刷新浏览器。
  • 实时预览:允许开发者在本地搭建一个 Web 服务,并实时查看开发进展。
  • 模块热替换(HMR):通过 HMR,代码更新可以直接应用到页面上,而无需刷新整个页面。

        2、工作原理: 

                Webpack Dev Server本质上是提供了一个简单的HTTP服务,同时具有部分WebSocket功能,用于监听当代码发生变化时通知浏览器刷新页面;它利用webpack打包能力,在内存中生成打包文件,相较于打包到本地,可显著提升打包速度。

2、基本配置

        1、执行 npm install webpack-dev-server -D 安装插件

        2、可以在package.json文件中直接配置

        2、在项目中的 webpack.config.js文件中添加配置

        

        执行 npm run serve 启动项目服务

        3、在项目package.json文件中配置           

        

        执行 npm start 启动项目服务

        

3、高级配置

        1、配置代理(Proxy)

        Webpack Dev Server 提供了 proxy 配置,允许将特定路径的请求转发到其他服务器。

        在 webpack.config.js 文件中 devServer 中配置 proxy

        

        2、自定义响应头

        在 webpack.config.js文件中的 devServer 中配置 headers,这样可以为每一个响应统一添加一个自定义的响应头 x-Custom-Foo

        

        3、配置HTTPS

        在 webpack.config.js文件中的 devServer 中配置 https

        

        也可以通过本地的SSL证书和密钥来自定义HTTPS设置:

        

        4、压缩与优化

        Webpack Dev Server 默认对生成的文件进行 Gzip 压缩,可通过 webpack.config.js文件devServer 中的 compress 属性来开启或关闭此功能。

        

4、模块热替换(HMR)

        模块热替换(HMR)webpack 提供的最有用的功能之一。它能帮助在运行时不完全刷新页面的情况下更新所有类型的模块。此模式之下,可以极大的提升开发效率,尤其在样式、状态等不会影响全局应用的局部调整时。HMR就像事件冒泡一样,会从最里层的依赖一层一层向上触发。路径上所有依赖都会触发更新状态直到更新到浏览器上

        警告  HMR 不适用于生产环境,而应当用于开发环境。

        从V4.0版本开始,模块热更新功能默认开启的,也可通过 webpack.config.js文件中 devServer 中的 hot 属性来开启或关闭此功能。

        

        或者

        

        某些情况下还需要在入口文件中引入 WebpackHMR API

        

5、注意事项

        1、开发环境与生产环境的区分

                Webpack Dev Server 适合在开发环境使用。在生产环境中通常会使用 nginx 或其他的 web服务器来托管打包文件。

        2、确保安全性

                在开发过程中,要确保设置的代理、HTTPS或自定义响应头不会一如安全隐患

        3、定制化配置灵活
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值