(1)webpack介绍

2023-05-16

一、webpack简介

webpack=Web Package,webpack是一个现代JS应用程序的静态模块打包器(module bundler)

模块(模块化开发,可以提高开发效率,避免重复造轮子)

打包(将各个模块,按照一定的规则组装起来)

官网:http://webpack.js.org/

特点:1.功能强大(打包、构建、发布Web服务)2.学习成本高

我们之前学习过一个自动化构建工具,叫Gulp,但是现在企业不在适用,因为由于webpack越来越强大,将Gulp已经淘汰掉了。

二、如何理解模块化和打包

通过如下图所示我们要做一道菜,菜的名字是西红柿炒蛋,我们的模块就相当于我们做这道菜的食材,每一个食材都是我们的一个模块,那么这每一个模块都是现成的模块,直接拿来使用,比如说鸡蛋,不可能我们要使用鸡蛋食材,非得要我们去自己养鸡,然后等鸡下蛋后我们才能用到,其实我们在超市中都可以直接买到现成的食材,所以这些模块都是我们提前定义好的,我们直接拿来使用即可,那么我们通过食材怎么样做成西红柿炒蛋这份菜呢?是不是要通过锅去炒食材呀,那么好了,我们炒菜的这个锅就可以当成一个工具,用来实现最终我们想要的结果,生产代码,这款工具就叫做webpack。

三、构建过程

那么构建过程呢就是,我们的源代码相当于每个模块,然后呢通过工具的手段进行构建,就是我们的webpack,通过webpack打包,将我们的多个模块进行编译,格式化校验,压缩等操作,同时完成后并打包成一个模块成为最终的生产代码,这样做的好处是什么呢?我们多个模块需要在HTML写入多个引入外部文件的标签,比如css需要link标签引入,js需要script标签引入,一旦我们的外部文件多了,我们把我们的每一个外部的css或者js文件当成一个模块,那么我们引入的模块多了,会对HTTP请求操作会变多,那么我们都打包成一个文件进行HTTP请求,这样的话会提高请求效率。

四、何为构建

所谓构建(转换):就是把不支持的代码,转成支持的代码,比如ES6的代码在浏览器中有兼容问题,我们需要将ES6语法的代码转换成ES5语法的代码。

五、打包过程

通过将我们书写的多个模块的文件,打包成一个文件进行上线发布,为了减少HTTP请求次数,提高效率。

六、何为打包

所谓打包(合并):把多个文件合并成一个文件。

七、打包构建过程

通过将多个模块,使用打包工具进行编译、格式化校验、压缩最后打包成一个模块文件,成为最终目标文件,然后上线。

那么中间的这一些列操作,编译、格式化校验、压缩、打包,我们都是通过webpack工具去帮我们实现的。

 weboack是一款打包构建工具

通过https://www.supor.com.cn/ 苏泊尔品牌官网我们可以检查源代码查看,该网站并没有使用打包工具进行打包,我们可以看到它引入了很多外部的css和js文件,这样加起来有10个文件,那么就要向HTTP请求10次,如果我们把这些文件打包成2个,一个css文件,一个js文件,然后进行上线,这样的话HTTP请求会变成2次,这样的话就提高了我们的请求效率。 

通过 https://www.taobao.com/ 淘宝网大型网站,我们可以看到,它就是引入了一个css文件,我们肯定知道这么大个网站,不可能只写一个css文件吧,那么它就是通过将多个文件打包成一个文件的方式进行引入的。这样的话我们的HTTP请求效率瞬间高了许多,这就是webpack工具带给我们的好处。

八、webpack的功能

  1. 将多个文件合并(打包),减少HTTP请求次数,从而提高效率。
  2. 对代码进行编译,确保浏览器兼容性。
  3. 对代码进行压缩,减少文件体积,提高加载速度。
  4. 检测代码格式,确保代码质量。
  5. 提供热更新服务,提高开发效率。
  6. 针对不同环境,提供不同的打包策略。

九、webpack的发展历史

2012年3月10日,webpack诞生。

2014年2月,webpack1。

2016年12月,webpack2。

2017年6月,webpack3。

2018年2月,webpack4。

2020年10月,webpack5。(注意:使用webpack5版本,需要将Node.js版本升级到 10.13+)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(1)webpack介绍 的相关文章

随机推荐

  • 使用腾讯云轻量应用服务器搭建一个简洁漂亮的目录

    前言 作为一个摄影爱好者 xff0c 会经常做一些图片的分享 xff0c 前端时间在网上看到了一个非常好看的目录 xff0c 这里给大家分享一下怎么样通过腾讯轻量应用服务器来搭建 官方介绍 files photo gallery是一款简洁漂
  • 玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD

    前言 大家都很羡慕博主的高产 xff0c 纷纷问我有什么技巧 我的回复是手熟 xff0c 多写 xff0c 那么多写就需要一个比较好的工具 xff0c 所以我这里给大家介绍一个在线markdown文档平台 xff0c 让大家可以随时书写文档
  • 玩转服务器-博客两件套之开源的一文多发平台ArtiPub

    玩转服务器 博客两件套之开源的一文多发平台ArtiPub 前言 上次给大家介绍了 xff0c 博主在线的markdown文档平台 xff0c 让大家可以随时书写文档和博客 xff0c 那么很多朋友在很多平台都看到了我的文章 xff0c 我是
  • 使用acme.sh申请Let‘s Encrypt免费的SSL证书

    使用acme sh申请Let s Encrypt免费的SSL证书 说明 xff1a Let s Encrypt 是一个由非营利性组织 互联网安全研究小组 xff08 ISRG xff09 提供的免费 自动化和开放的证书颁发机构 xff08
  • win7操作系统下laravel/homestead在SSH auth method: private key卡住提示Warning: Connection reset. Retrying的解决方案

    将VirtualBox兼容模式改为win7 勾选以管理员身份运行 安全里面各组个用户全部编辑好权限并勾选 电脑开机后优先双击VirtualBox启动后在执行git命令行进行启动
  • 为什么用了索引,SQL查询还是慢?

    原文链接cnblogs com jackyfei p 12122767 html 经常有同学疑问 xff0c 为什么有时候一个SQL语句使用了索引 xff0c 为什么还是会进入到慢查询之中呢 xff1f 今天我们就从这个问题开始来聊一聊索引
  • 腾讯云轻量应用服务器器使用技巧-腾讯云OrcaTerm的上传下载

    前言 xff1a 上传下载是WebShell中不可或缺的功能之一 xff0c 也是我在日常管理过程中经常使用操作 这里就跟着博主的视角来揭秘 xff0c 腾讯云OrcaTerm的上传与下载 对比 博主对比了一些shell的应用 xff0c
  • C语言strtok函数

    strtok是C语言用于分割字符串的函数 xff0c 需要include lt string h gt 第一次使用时第一个参数传入待分割的字符串 xff0c 第二个参数传入分割符号 第二次使用时第一个函数传入NULL 第二个参数传入分割符号
  • CSS | 置换元素(可替换元素)

    文章目录 置换元素 定义 常见置换元素 固有尺寸 非置换元素 注意 若文章有任何纰漏或未涉及你想了解的内容 欢迎在评论提出 我会尽最快速度回复 置换元素 定义 置换元素是具有固有尺寸 intrinsic dimensions 浏览器根据其标
  • 人体姿态估计综述(Human Pose Estimation Overview)

    主流数据集整理 xff1a http blog csdn net qq 36165459 article details 78332172 Part1 xff1a Single Person Pose Estimation 2015 年之前
  • 1到100的二进制表示

    1 61 1 2 61 10 3 61 11 4 61 100 5 61 101 6 61 110 7 61 111 8 61 1000 9 61 1001 10 61 1010 11 61 1011 12 61 1100 13 61 11
  • 画格子

    题目描述 画一些小格子 xff0c 如下所示 xff1a MAKEAMERICA AKEAMERICAG KEAMERICAGR EAMERICAGRE AMERICAGREA MERICAGREAT ERICAGREATA RICAGRE
  • golang -----------字符串(rune,string,type)

    一 内存布局 字符串在Go语言内存模型中用一个2字长的数据结构表示 它包含一个指向字符串存储数据的指针和一个长度数据 因为string类型是不可变的 xff0c 对于多字符串共享同一个存储数据是安全的 切分操作str i j 会得到一个新的
  • HTTP中GET,POST和PUT的区别

    一 HTTP中定义了以下几种请求方法 1 GET xff1b 2 POST xff1b 3 PUT xff1b 4 DELETE 5 HEAD xff1b 6 TRACE xff1b 7 OPTIONS xff1b 二 各个方法介绍 xff
  • B树,B+树,红黑树应用场景笔记

    一 B树的应用 1 B树大量应用在数据库和文件系统当中 它的设计思想是 xff0c 将相关数据尽量集中在一起 xff0c 以便一次读取多个数据 xff0c 减少硬盘操作次数 B树算法减少定位记录时所经历的中间过程 xff0c 从而加快存取速
  • 使用 Gitee 进行代码管理

    为什么使用 Gitee 这里推荐使用 Gitee 进行代码管理 Gitee 和 Github 最大的区别在我看来就是私有库的免费 xff0c 在 Github 上建立私有库是需要收费的 xff0c 而在 Gitee 上建立私有库是不需要收费
  • kubernetes的Kube-proxy的iptables转发规则

    概念 kube proxy 实际上并不起一个 proxy 的作用 xff0c 而是 watch 变更并更新 iptables xff0c 也就是说 xff0c client 的请求直接通过 iptables 路由 如果kube proxy通
  • kube-proxy ipvs模式详解

    一 kube proxy 开启 ipvs 1 环境准备 xff1a 测试环境为kubernetes集群 xff0c 一台master节点 xff0c 一台node节点 集群网络使用flanneld搭建 注意 xff1a master节点上也
  • k8s部署Traefik

    Ingress ingress是从kubernetes集群外访问集群的入口 xff0c 将用户的URL请求转发到不同的service上 Ingress相当于nginx apache等负载均衡方向代理服务器 xff0c 其中还包括规则定义 x
  • (1)webpack介绍

    一 webpack简介 webpack 61 Web Package xff0c webpack是一个现代JS应用程序的静态模块打包器 xff08 module bundler xff09 模块 xff08 模块化开发 xff0c 可以提高