5.webpack中的webpack-dev-server

WebpackWebpack中模式(Mode)、Webpack中使用DevServerWebpackdevtool增强调试过程】(二)-全面详解(学习总结---从入门到深化) 阅读详情

在日常开发中,我们可能需要以下几个功能:

  • 提供HTTP服务而不是使用本地文件预览;
  • 监听文件变化并自动刷新网页, 做到实时预览;
  • 支持Source Map, 以方便调试;
    webpack的原生支持上述2、3点内容,再结合官方提供的开放工具DevServer也可以很方便的做到第一点。DevServer会启动一个HTTP服务器用于服务网页请求,同时会帮助启动webpack,并接收webpack发出的文件变更信号,通过websocket协议自动刷新网页做到实时预览。

1.webpack-dev-middleware和 webpack-hot-middleware

webpack-dev-middleware
假设我们在服务端使用 express 开发一个站点,同时也想利用 webpack 对静态资源进行打包编译,那么在开发环节,每次修改完文件后,都得先执行一遍 webpack 的编译命令,等待新的文件打包到本地,再做进一步调试。虽然咱们可以利用 webpack 的 watch mode 来监听变更、自动打包,但等待 webpack 重新执行的过程往往很耗时。webpack-dev-middleware 的出现很好地解决了上述问题,它会开启 watch mode 监听文件变更,并自动地在内存中快速地重新打包、提供新的 bundle。
说白了就是 —— 自动编译(watch mode)+速度快(全部走内存)

webpack-hot-middleware
webpack-hot-middleware可以让页面也能自动更新呢,提供的这种能力称为 HMR(即模块热替换(hot module replacement)的简称,它可以在应用运行的时候,不需要刷新页面,就可以直接替换、增删模块。)。
webpack 可以通过配置 webpack.HotModuleReplacementPlugin 插件来开启全局的 HMR 能力,开启后 bundle 文件会变大一些,因为它加入了一个小型的 HMR 运行时(runtime),当你的应用在运行的时候,webpack 监听到文件变更并重新打包模块时,HMR 会判断这些模块是否接受 update,若允许,则发信号通知应用进行热替换。

2. webpack-dev-server

webpack-dev-server 相对前两个工具多了个“server”,实际上它的确也是在 webpack-dev-middleware 的基础上多套了一层壳来提供 CLI 及 server 能力(这也是为何我称 webpack-dev-middleware 是 webpack-dev-server 他爹)。

“devServer”的 webpack-dev-server 配置项:

const path = require('path');
module.exports = {
   
   
    entry: './app.js',
    output: {
   
   
        publicPath: "/assets/",
        filename: 'bundle.js'
    },
    devServer: {
   
    //新增配置项
        contentBase: path.join
基于STM32F407与AD9910/AD9959的高频可调DDS信号源设计与实战 本文详细介绍了基于STM32F407微控制器与AD9910/AD9959高性能DDS芯片的高频可调信号源设计与实现。文章从DDS原理入手,阐述了双芯片方案的优势,并重点分享了高频电路设计中的电源、PCB布局布线等关键硬件设计技巧与避坑指南。同时,提供了通过SPI配置DDS芯片及利用Matlab生成任意波形的软件驱动方法,旨在帮助开发者打造一个覆盖10Hz至4200MHz的实用信号发生器。 阅读详情

相关推荐

使用QGIS提取天地图遥感影像中的建筑物轮廓,及AI方案

用QGIS的插件提取遥感影像中的建筑轮廓,并提供了几个AI提取建筑轮廓的方案。

cky_123的博客 2万+

Vue项目不断请求 ‘websocket‘ 问题

项目:Vue 2.6.10 报错原因:由于我对 Apache 配置了端口转发: “www.xxx.com” 至 “localhost:8080”,因而使得 webpack-dev-server 出于安全考虑,默认检查 hostname,检查到 hostname 不是内置的,因而报错。 解决方法:修改 vue.config.js ,添加 disableHostCheck: true ...

weixin_42452567的博客 3100

fluent炉膛仿真教程文档.pdf

fluent炉膛仿真教程文档.pdf

Webpack系列——使用WebpackDevServer

使用 WebpackDevServer 在通过 Loaders 处理完静态资源以及 Plugins 快捷打包后,我们基本就能愉快地打包文件了。 这时,又遇到了新的问题,什么问题呢?那就是,我们只有在打包完之后,运行代码才能看到打包的结果。 在开发过程中,我们希望的是自动打包,让我们边写代码边看到修改代码后的效果,而不是每次都手动打包。 1. watch (监听模式) 监听文件变动,变动则重新打包,输出目录中可以看到新的打包文件。 在 package.json 中设置脚本。 package.

Smart_J_King的博客 942

webpackwebpack-dev-server区别解析

webpackwebpack-dev-server这两者自身是有区别的,以及在这两者中使用output.publicPath,效果也是不同的,如何不同呢?

weixin_45727472的博客 1433

webpack之基础篇(四):webpack-dev-server介绍

webpack-dev-server介绍。 webpack-dev-serverwebpack官方提供的一个小型Express服务器。 webpack-dev-server的使用。

I大俊 3404

webpack自动化打包webpack-dev-server

是一个基于Node.js构建的Web服务器,它可以在本地开发环境中启动一个实时的Web服务器,并且能够自动编译并且刷新浏览器,为前端开发提供了很大的便利。支持热模块替换(HMR),即在应用程序运行中更新模块而无需刷新整个页面,它还提供了一些其它的特性包括压缩、编译、转换、代码分离等等。通常用来搭建本地开发环境,而部署时则需要使用其它的Web服务器。

jieyucx的博客 6911

升级webpack5过程中遇到的坑

将项目的weback从3升到了5,遇到了一系列的问题,这里记录两个: extract-text-webpack-plugin兼容问题 webpack-dev-server兼容问题 1.extract-text-webpack-plugin兼容问题 升到webpack5后,运行打包直接报错,如下: 原因是:webpack4以上的版本不再使用“extract-text-webpack-plugin”,应该改成用“mini-css-extract-plugin” 解决 原代码: const ExtractT

LYFlied的博客 2881

深入了解 HTML5 History API,前端路由的生成,解读 webpack-dev-server 的 historyApiFallback 原理

文章目录 1、history 2、两种路由模式的生成 3、historyApiFallback 1、history History 接口,允许操作浏览器的 session history,比如在当前tab下浏览的所有页面或者当前页面的会话记录。 history属性 1、length(只读) 返回一个总数,代表当前窗口下的所有会话记录数量,包括当前页面。如果你在新开的一个tab里面输入一个地址,当前的length是1,如果再输入一个地址,就会变成2; 假设当前总数已经是6,无论是浏览器的返回还是 h

aa_mmnn的博客 749

webpack

webpack 安装、配置及基本配置

weixin_38822843的博客 761

终极微前端开发指南:webpack-dev-server与模块联邦的完美集成

在当今快速发展的前端生态系统中,**webpack-dev-server**已成为现代Web开发不可或缺的核心工具。这个强大的开发服务器不仅提供了热模块替换(HMR)和实时重新加载功能,更是微前端架构中**模块联邦**技术的最佳搭档。本文将为您揭示如何将这两个技术完美结合,打造高效的微前端开发体验。 ## 🚀 为什么选择webpack-dev-serverwebpack-dev-serv

gitblog_00113的博客 496

webpack3升级webpack4

为了优化包体积大小,想要将老项目的webpack3升级到webpack4,再升级到webpack5 一、升级版本 1、webpack ^3.1.0 => ^4.29.6 2、webpack-cli ^3.1.2 => ^3.3.0 3、webpack-dev-server ^2.11.3 => ^3.2.1 4、html-webpack-plugin ^2.30.1 => ^3.2.0 5、vue-loader ^13.3.0 => ^15.7.0 (不升级,会报找.

litCabbage的博客 1551

webpack5 入门学习笔记(二)开发环境配置

webpack入门学习笔记(二)开发环境配置 webpack开发环境的基本配置 webpack打包其他资源 webpack devServer webpack打包图片资源

L_2017的博客 418

Webpack 报错:Error: Cannot find module ‘webpack-cli/bin/config-yargs‘

我的版本 “webpack: “^5.7.0”, “webpack-cli”: “^4.2.0”, “webpack-dev-server: “^3.11.0” 在启动 webpack-dev-server 时,按照官网方法,出现运行报错。 # 官网写法 $ webpack-dev-server --open # 改成下面写法即可运行,--open 代表以什么打开 $ webpack serve --open Chrome 关于 --open Chrome 请查看另一位大佬博文 传送门 ...

勇敢阿呆的部落阁 307

使用webpack5创建前端应用

Webpack是一个现代JavaScript应用的静态模块打包工具,它通过分析模块依赖关系构建依赖图,将项目模块打包成静态资源。Webpack具有三大核心功能:代码编译(转换浏览器不支持的语法)、工具集成(连接各种构建工具)、代码压缩优化(提高加载速度和安全性)。文章详细介绍了Webpack的基本配置流程,包括初始化项目、安装webpack和相关loader(如css-loader、style-loader)、配置入口文件和输出路径等,并演示了如何通过插件(如HtmlWebpackPlugin)优化构建流程

qq_55310433的博客 985

整理webpack不同的一些配置

webpack的配置收纳

weixin_43842488的博客 1227

Webpack】搭建开发服务器详解

Webpack Dev ServerWebpack 提供的一个开发辅助工具,主要功能是通过本地服务器实时刷新页面。自动打包与页面热更新:每当源代码发生变化时,Webpack Dev Server 能够自动重新打包并刷新浏览器。实时预览:允许开发者在本地搭建一个 Web 服务,并实时查看开发进展。模块热替换(HMR):通过 HMR,代码更新可以直接应用到页面上,而无需刷新整个页面。有时,开发过程中需要向浏览器发送特定的 HTTP 头,Webpack Dev Server 允许通过headers。

lph159的博客 3239

《深入浅出webpack》 读书笔记

Webpack 入门小笔记

旺旺 1778

webpack dev-server 配置

webpack dev-server

EmotionComputer 8534

webpack-dev-server 配置以及webpack教程

webpack是什么? 一开始我也不理解? 看了许多文档都是在扯淡,摞了一大堆,点子却没说到。当然我说的可能也不对,希望诸位取其精华,去其糟粕。 因为包括官方文档,虽然翻译说的是人话,但是你却找不出一点点有用的有效的信息。 至于其他人的就是罗里吧嗦一大堆。写这个,就是想说,这玩意其实很简单。包括在php上,就是php的blade指令。不过php是直接略过了。压根没当回事。是因为什么被搞复杂了。是因为每个人的思维不透明。才造成交流沟通的困难。我这里写这个就是希望可以帮助到大家。 webpack其实就两个关.

weixin_40254430的博客 5101
上一篇: 4.webpack的文件加载配置
南徒切切
博客等级 码龄8年 5粉丝 19原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值