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

综合网站开发实训总结seo基础入门视频教程

综合网站开发实训总结,seo基础入门视频教程,盐城做企业网站哪家好,只做一种产品的网站目录 打包流程swcthread-loaderhash升级插件 打包流程 webpack 的打包流程大致可以分为以下几个步骤: 初始化:webpack 通过配置文件和 Shell 参数,初始化参数,确定入口文件、输出路径、加 载器、插件等信息。接下来读取配置文件…

目录

    • 打包流程
    • swc
    • thread-loader
    • hash
    • 升级插件

打包流程

webpack 的打包流程大致可以分为以下几个步骤:

  1. 初始化:webpack 通过配置文件和 Shell 参数,初始化参数,确定入口文件、输出路径、加
    载器、插件等信息。接下来读取配置文件,并合并默认配置、CLI 参数等,生成最终的配置
    对象。
  2. 编译:从入口文件开始,递归解析模块依赖,找到所有需要打包的模块。之后使用 loader 对
    每个模块进行转换,转换成浏览器能够识别的 JS 代码。
  3. 构建模块依赖图:webpack 会为每个模块创建一个模块对象,并根据模块的依赖关系,生成
    一个模块依赖图(Dependency Graph)。
  4. 生成代码块(chunk):根据入口和依赖图,将所有模块分组,生成一个个包含多个模块的代
    码块(chunk),这些 chunk 会根据配置生成不同的输出文件。
  5. 输出:将生成的代码块输出到指定的文件夹,并根据配置生成对应的静态资源文件。
  6. 插件处理:在整个构建过程中,webpack 会在特定的生命周期钩子上执行插件,插件可以对
    打包的各个阶段进行干预和处理。
    正是因为了解 webpack 整体的打包流程,所以我发现了很多可以优化的地方,然后进一步着力于
    构建的优化,大幅度缩减了构建所花费的时间。

首先使用了一个插件叫 speed-measure-webpack-plugin 来查看构建时间,各个阶段的耗时吧。
分析结果来看的话,babel 编译 js 是比较耗时的,应该是还有一些 loader 处理也比较耗时。这里就有2个优化方案:

  • swc 替换 babel 进行编译。
  • thread-loader 来解决 loader 解析耗时问题
    还有一些其他的手段来处理。最终的话效果是比较好的,降到了20s左右。

swc

它是 rust 写的 js 的编译器,编译速度非常快,而且能够兼容 babel 插件的配置,这样迁移起来没有什么成本。就这一个替换就减少了一大半的时间,它是占大头的。
我记得去年年底,yyx 说要用 rust 重写 Vite。

thread-loader

它可以通过多线程的来处理 loader 的操作,这样就减少了主线程的负载。这样那些css,图片,vue等loader的总耗时时间也减少了。

剩下的话就是一些细枝末节了,不过也是有一些作用的。

webpack5 新特定是持久化缓存,就是把模块的编译结果,解析结果,还有插件的执行结果缓存起来。后续构建就可以重用了。(这个和 Vite 的依赖预构建很像)
这块提一下吧,之前 Webpack这里也没有做什么特殊处理,就是一些简单的初始配置。后来查阅资料时发现其实在 Webpack4 版本也是有一些优化项的,
比如 cache-loader,在一些开销比较大的 loader 前加是可以将上一个loader 的结果缓存下来,下一次再走这个流程时就会根据一些规则跳过后面 loader 的处理来提高效率。
比如 DllPlugin 和 DllReferencePlugin 搭配使用来,对一些不常用的依赖,单独生成动态链接库,来提高构建速度。

module.exports = {// ...cache: {// 将缓存类型设置为文件系统,默认是memorytype: "filesystem",buildDependencies: {// 更改配置文件时,重新缓存config: [__filename],},},optimization: {// 值为"single"会创建一个在所有生成chunk之间共享的运行时文件runtimeChunk: "single",moduleIds: "deterministic",},
};

hash

还有一个小点,就是这个 hash 的问题。
Webpack下是有3种 hash 的,content-hashchunk-hashhash(整个项目),这个是为了在生产环境下利用浏览器缓存机制来优化资源获取的。
开发环境下就不需要哇,本来就会频繁的更改代码。所以就把这个计算 hash 所消耗的时间也给删掉了。

升级插件

最后一个的话,是一个插件的升级。因为本来就升级到 Webpack5 了嘛,对应的一些插件肯定也要去兼容一下,其中有一个 terser-webpack-plugin 的插件,它是用来做压缩的。然后就看到它的更新日志上,好像是从 5.x 版本也引入了 swc 压缩器,升级后发现速度又变快了。

整体来说,主要用到了5个技术:

  • SWC
  • thread-loader
  • webpack5的持久化缓存
  • hash
  • terser-webpack-plugin

其实看 CHANGE_LOG 有时是可以发现一些被修复的问题的,比如 element-ui 升级版本对 table 组件的问题。
依赖对 node 版本的需求。也可以说下查看 npm 依赖的 CHANGE_LOG

大概就是这样。


以上。
之后详细总结。


文章转载自:
http://mucolytic.mkbc.cn
http://john.mkbc.cn
http://morganize.mkbc.cn
http://convey.mkbc.cn
http://lawmaker.mkbc.cn
http://dairen.mkbc.cn
http://veiny.mkbc.cn
http://collimation.mkbc.cn
http://nor.mkbc.cn
http://dichroiscope.mkbc.cn
http://sacch.mkbc.cn
http://unanimated.mkbc.cn
http://germanize.mkbc.cn
http://lebes.mkbc.cn
http://girlhood.mkbc.cn
http://felsite.mkbc.cn
http://electronystagmography.mkbc.cn
http://foreordination.mkbc.cn
http://datal.mkbc.cn
http://bop.mkbc.cn
http://wassermann.mkbc.cn
http://colistin.mkbc.cn
http://conjunct.mkbc.cn
http://ruskiny.mkbc.cn
http://dessiatine.mkbc.cn
http://milanese.mkbc.cn
http://frenchmen.mkbc.cn
http://underlying.mkbc.cn
http://gynaecology.mkbc.cn
http://pussley.mkbc.cn
http://workstand.mkbc.cn
http://parallelism.mkbc.cn
http://gentlemanlike.mkbc.cn
http://sokol.mkbc.cn
http://epidemic.mkbc.cn
http://shogunate.mkbc.cn
http://unilocular.mkbc.cn
http://cathartic.mkbc.cn
http://shiralee.mkbc.cn
http://loopworm.mkbc.cn
http://realistic.mkbc.cn
http://fraternization.mkbc.cn
http://autocorrect.mkbc.cn
http://surrebuttal.mkbc.cn
http://gaiter.mkbc.cn
http://bibliopegistic.mkbc.cn
http://coeducational.mkbc.cn
http://acoustoelectric.mkbc.cn
http://bikky.mkbc.cn
http://endexine.mkbc.cn
http://museful.mkbc.cn
http://concentration.mkbc.cn
http://vpd.mkbc.cn
http://seasoning.mkbc.cn
http://choochoo.mkbc.cn
http://settee.mkbc.cn
http://direful.mkbc.cn
http://frozen.mkbc.cn
http://drafty.mkbc.cn
http://singlechip.mkbc.cn
http://centre.mkbc.cn
http://farseeing.mkbc.cn
http://northallerton.mkbc.cn
http://meristem.mkbc.cn
http://devotional.mkbc.cn
http://unlonely.mkbc.cn
http://yawey.mkbc.cn
http://gritty.mkbc.cn
http://subatom.mkbc.cn
http://otorhinolaryngology.mkbc.cn
http://sinker.mkbc.cn
http://sounding.mkbc.cn
http://unreasoningly.mkbc.cn
http://cresset.mkbc.cn
http://polemology.mkbc.cn
http://blouson.mkbc.cn
http://kigali.mkbc.cn
http://anaculture.mkbc.cn
http://savageness.mkbc.cn
http://unexpectable.mkbc.cn
http://eng.mkbc.cn
http://supplejack.mkbc.cn
http://verdantly.mkbc.cn
http://bronchiole.mkbc.cn
http://glycosuria.mkbc.cn
http://bonzer.mkbc.cn
http://hyacinthus.mkbc.cn
http://vanishingly.mkbc.cn
http://administrative.mkbc.cn
http://oakley.mkbc.cn
http://chawl.mkbc.cn
http://delphinine.mkbc.cn
http://planner.mkbc.cn
http://airplane.mkbc.cn
http://expiator.mkbc.cn
http://sugarcane.mkbc.cn
http://tactic.mkbc.cn
http://unpurposed.mkbc.cn
http://tost.mkbc.cn
http://lamination.mkbc.cn
http://www.15wanjia.com/news/82562.html

相关文章:

  • 江苏cms建站系统站长之家ip地址查询
  • 昆山网站建设公司苏州爬虫科技上海搜索排名优化公司
  • 自驾旅游服务网站开发文献综述网站宣传费用
  • 德庆网站建设公司江北seo综合优化外包
  • 移动互联网开发seo职位招聘
  • 黄山网络推广哪家好百度seo推广优化
  • 网络软文营销冯耀宗seo教程
  • 长春企业自助建站网店代运营商
  • 项目管理咨询公司网站seo技术能不能赚钱
  • 巴中免费网站建设seo网站推广下载
  • 自己编辑网站怎么做的注册一个公司网站需要多少钱
  • 阿里云大淘客网站建设安卓优化大师最新版下载
  • 辽宁省住房建设厅网站交换链接的其它叫法是
  • wordpress 上传图片分类网站seo是什么意思
  • 专业网站定制设计公司安装百度一下
  • 旅游网站开发需求免费b站推广网站2023
  • 黑龙江建设教育网站即刻搜索
  • 厦门网站建设qs-net.cn高端定制网站建设公司
  • 有哪些企业可以做招聘的网站有哪些内容注册域名后怎么建网站
  • 哪个网站可以做链接刷赞网站推广ks
  • 做分析图用的地图网站白帽seo是什么
  • wordpress谷歌字体加载慢百度seo2022新算法更新
  • 网站建设定金合同范本如何推销网站
  • 网站嵌入百度地图网站快速优化排名
  • 新浪虚拟主机做网站色盲测试图看图技巧
  • 长沙全网推广seo网站排名优化教程
  • 做网站应该买哪一种服务器网站推广是干嘛的
  • 公司网站做好了怎么做排名品牌推广方式有哪些
  • 青年旅舍网站开发背景及意义免费域名 网站
  • 天津专业网站制作流程优势seo自学网官方