21-webpack介绍

webpack是一种包管理工具,将一切视为模块,一般怎么判断一个网站可能有webpack呢?

当网站元素中很多外联式js文件时就可能是webpack(80%),如图:

webpack基本结构

下面先来写一下webpack基本代码:

javascript 复制代码
// webpack
!function (e) {
    function aa(t) {
        return e[t].call()
    }

    aa(0)

}([
    function () {
        console.log("hello world")
    }
])

介绍一下逻辑:先是一个自执行函数,自执行函数后面的括号里传入一个打印hello world的函数,将其传给e,通过调用aa函数来返回e里面的第t个函数并调用,这里是第零个函数(打印hello world的函数)

webpack里有两个东西:模块和加载器↓ ↓ ↓

这里面的方括号是数组的形式传递模块,还有一种形式为对象传递:

这就像py中的字典取值似的,取出函数并调用,还有可能是一个单独的js文件(文件打包)通过加载器调用:

开头是这个,重写了一个push方法将所有方法填入到webpack自执行函数的形参中然后调用

webpack经常用到的知识点

1.取出加载器时在全局设置一个变量来接收加载器,使加载器能全局调用

2.node的环境与浏览器不同,我们通常会在最上面写上window = global

3.有一个xx.xx = 自执行函数形参来缓存加载器,我们找调用的函数时可以xx.xx['xxx']或者xx.xx[num]

相关推荐
狂炫冰美式4 分钟前
《预言市场进化论:从罗马斗兽场,到 Polymarket 的 K 线图》
前端·后端
码力巨能编5 分钟前
Markdown 作为 Vue 组件导入
前端·javascript·vue.js
私人珍藏库5 分钟前
[吾爱大神原创工具] FlowMouse - 心流鼠标手势 v1.0【Chrome浏览器插件】
前端·chrome·计算机外设
旧梦吟21 分钟前
脚本网页 地球演化
前端·算法·css3·html5·pygame
xiaoxue..25 分钟前
哨兵节点与快慢指针解决链表算法难题
前端·javascript·数据结构·算法·链表
这是个栗子25 分钟前
【前端知识点总结】前端跨域问题
前端·跨域·cors
尽欢i30 分钟前
踩过坑才懂:前端生成唯一 ID,别用 Date.now ()了!一行代码搞定
前端·javascript
JS_GGbond31 分钟前
解锁 JavaScript 对象的“魔法宝箱”:这些方法让你玩转对象操作
前端·javascript
是杉杉吖~35 分钟前
《5 分钟上手 React Flex 容器:从 0 搭建响应式卡片列表》
前端·react.js·前端框架
大江东第一深情39 分钟前
Origin 2024 进行语言切换后仍然显示为英文
运维·前端