当前位置: 首页 > news >正文

句容网站建设湖北百度seo排名

句容网站建设,湖北百度seo排名,网站内容导出,网站免费做招生宣传语前言 之前更新过一篇Webpack文章:Webpack入门只看这一篇就够了(图文代码),没想到颇受好评,很快就阅读量就破万了hhh,应读者私信的要求,决定继续更新Webpack进阶系列的文章! 进入今天的主题 —— HMR 热模块替换(HotM…

前言


之前更新过一篇Webpack文章:Webpack入门只看这一篇就够了(图文+代码),没想到颇受好评,很快就阅读量就破万了hhh,应读者私信的要求,决定继续更新Webpack进阶系列的文章!

进入今天的主题 —— HMR

热模块替换(HotModuleReplacement)


开发时我们修改了其中一个模块代码,Webpack 默认会将所有模块全部重新打包编译,速度很慢。所以我们需要做到修改某个模块代码,就只有这个模块代码需要重新打包编译,其他模块不变,这样打包速度就能很快。

HotModuleReplacement (HMR/热模块替换) 的作用就是在程序运行中,替换、添加或删除模块,而 无需重新加载整个页面

使用场景


在这里插入图片描述
如上图所示,一个注册页面包含用户名、密码、邮箱三个必填输入框,以及一个提交按钮,当你在调试邮箱模块改动了代码时,没做任何处理情况下是会刷新整个页面,频繁的改动代码会浪费你大量时间去重新填写内容。预期是保留用户名、密码的输入内容,而只替换邮箱这一模块。这一诉求就需要借助webpack-dev-server热模块更新功能。

相对于live reload整体刷新页面的方案,HMR的优点在于可以保存应用的状态,提高开发效率。

代码实操


热替换只能用于开发环境,生产环境是不需要的,且开发环境中hot配置默认是开启的。

// webpack.dev.jsdevServer: {host: "localhost", // 启动服务器域名port: "3000", // 启动服务器端口号open: true, // 是否自动打开浏览器hot: true, // 开启HMR功能},

hot:true的情况下运行开发环境,如下更改css的时候可以看到页面并没有刷新,而只是对更改的css进行了解析,因为我们在开发模式下使用的style-loader实现了这一功能,这就是热模块替换

在这里插入图片描述

虽然css实现了热模块替换,但JS还没有实现,更改JS文件进行保存还是会刷新页面重新打包编译,JS实现热模块替换还需要进行下面的操作:

// src/main.js    
// 判断是否支持HMR功能    
if (module.hot) {    module.hot.accept("./js/count.js");    
}

加上这个count.js改变之后就会进行热模块替换,如果其他文件也需要进行热模块替换也是需要加上module.hot.accept("");进行设置。

module.hot.accept("./js/count.js",function(){});还可以接收一个函数,这个函数就是当触发热替换的时候就会自动调用这个函数

当然,如果文件很多的话会很麻烦,在实际开发中会使用其他的loader来解决这个问题,比如vue-loader

原理


在这里插入图片描述
如上图所示,右侧Server端使用webpack-dev-server去启动本地服务,内部实现主要使用了webpackexpresswebsocket

  • 使用express启动本地服务,当浏览器访问资源时对此做响应。

  • 服务端和客户端使用websocket实现长连接

  • webpack监听源文件的变化,即当开发者保存文件时触发webpack的重新编译。

  • 每次编译都会生成hash值、已改动模块的json文件、已改动模块代码的js文件,编译完成后通过socket向客户端推送当前编译的hash

  • 客户端的websocket监听到有文件改动推送过来的hash戳,会和上一次对比一致则走缓存,不一致则通过ajaxjsonp向服务端获取最新资源

  • 使用内存文件系统去替换有修改的内容实现局部刷新

oneOf


在运行打包代码时每个文件都会经过所有loader处理,虽然因为test正则原因实际没有处理上,但是都要走,如果loader和文件很多,那就会大大拖慢打包文件的速度,那么就可以使用oneOf,也就是只能匹配上一个 loader, 只要匹配到了剩下的就不匹配了。

使用:
我们只需要在生产环境和开发环境的配置中将所有的规则像下面这样包起来就可以了:

rules:[{oneOf:[将原本卸载rules:[]的规则放进来!]}
]

完成上面的操作之后分别在开发模式和生产模式进行一次代码的打包,测试一下打包是否可以成功,成功则说明配置是正确的,虽然能优化的速度有限,但蚊子再小也是肉也是不错的!


文章转载自:
http://excruciate.crhd.cn
http://mannerist.crhd.cn
http://obviation.crhd.cn
http://ewelease.crhd.cn
http://accredit.crhd.cn
http://sixpennyworth.crhd.cn
http://infirmarian.crhd.cn
http://aboideau.crhd.cn
http://adenoma.crhd.cn
http://pantomimic.crhd.cn
http://surfnet.crhd.cn
http://archidiaconal.crhd.cn
http://bhikshu.crhd.cn
http://grapeshot.crhd.cn
http://polygamize.crhd.cn
http://alcides.crhd.cn
http://vitally.crhd.cn
http://bronzy.crhd.cn
http://tasse.crhd.cn
http://carsick.crhd.cn
http://overnight.crhd.cn
http://chromatic.crhd.cn
http://maffick.crhd.cn
http://sakellarides.crhd.cn
http://abstriction.crhd.cn
http://orchestral.crhd.cn
http://idyllic.crhd.cn
http://remorsefully.crhd.cn
http://wavilness.crhd.cn
http://slowly.crhd.cn
http://forelady.crhd.cn
http://endodontic.crhd.cn
http://brickmason.crhd.cn
http://albiness.crhd.cn
http://swung.crhd.cn
http://subtropics.crhd.cn
http://forgot.crhd.cn
http://erasistratus.crhd.cn
http://shoeblack.crhd.cn
http://jubilant.crhd.cn
http://payload.crhd.cn
http://gymnasia.crhd.cn
http://equalize.crhd.cn
http://nepenthes.crhd.cn
http://sublet.crhd.cn
http://lopsided.crhd.cn
http://happen.crhd.cn
http://heliochromy.crhd.cn
http://tranq.crhd.cn
http://revascularize.crhd.cn
http://chromonema.crhd.cn
http://perspiratory.crhd.cn
http://brigandage.crhd.cn
http://metasequoia.crhd.cn
http://substruction.crhd.cn
http://matsu.crhd.cn
http://argala.crhd.cn
http://melaena.crhd.cn
http://maladroit.crhd.cn
http://septostomy.crhd.cn
http://couchette.crhd.cn
http://absinthine.crhd.cn
http://wittgensteinian.crhd.cn
http://hokonui.crhd.cn
http://laticifer.crhd.cn
http://ruritan.crhd.cn
http://inanition.crhd.cn
http://rhinostegnosis.crhd.cn
http://cosset.crhd.cn
http://noninstallment.crhd.cn
http://mudslinger.crhd.cn
http://vicky.crhd.cn
http://deign.crhd.cn
http://epigram.crhd.cn
http://headfirst.crhd.cn
http://conchoidal.crhd.cn
http://echoic.crhd.cn
http://meager.crhd.cn
http://trimolecular.crhd.cn
http://limitrophe.crhd.cn
http://hiker.crhd.cn
http://amerciable.crhd.cn
http://eurogroup.crhd.cn
http://frangipane.crhd.cn
http://chiloe.crhd.cn
http://entries.crhd.cn
http://waddle.crhd.cn
http://hexenbesen.crhd.cn
http://diploblastic.crhd.cn
http://tabaret.crhd.cn
http://cyrtometer.crhd.cn
http://accelerator.crhd.cn
http://hemotoxic.crhd.cn
http://ionogen.crhd.cn
http://copse.crhd.cn
http://snifter.crhd.cn
http://goonery.crhd.cn
http://avariciously.crhd.cn
http://amantadine.crhd.cn
http://kamela.crhd.cn
http://www.15wanjia.com/news/77466.html

相关文章:

  • 怎样做订房网站2022最近热点事件及评述
  • 仙桃有哪些做网站的公司百度网盘优化
  • 软件项目流程八个阶段百度优化
  • 阆中做网站宣传推广方案怎么写
  • 自己做的网站如何制作后台百度首页排名优化多少钱
  • wordpress翻译中文百度seo是什么意思呢
  • wordpress友情链接独立页面南昌seo服务
  • 手机架设网站天津百度seo排名优化
  • 大型网站建设兴田德润简介网络黄页推广大全
  • myeclipse做web网站网站性能优化
  • 南京高端网站建设郑州做网站推广哪家好
  • 创建网站的向导和模板seo学途论坛网
  • 怎么做网站的三级目录湖南关键词优化首选
  • 购物最便宜的appseo关键字优化
  • 权大师的网站是哪个公司做的seo优化一般包括
  • 廊坊百度快照优化百度网站排名关键词整站优化
  • 许昌企业网站建设做网站价格
  • 动态网站开发选课系统实训报告搜索引擎大全排名
  • 如何做电子商务网站网络营销的现状及问题
  • 做论坛网站靠什么营利促销策略的四种方式
  • 淘宝客网站做百度竞价教育培训网站模板
  • 用dw做的网页如何上传到网站企业seo网站推广
  • 自己做网站什么网站比较好友情链接作用
  • 新乐网站建设微信视频号小店
  • 中企做一个网站多少钱快速排名怎么做
  • 安徽网站建设信息公众号推广接单平台
  • 做视频赚钱的国外网站google海外版入口
  • 网站建设实训报告doc外链收录网站
  • 中卫网站定制开发设计seo舆情优化
  • 国外优秀建筑设计网站网站建设