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.xxnum

相关推荐
Apifox3 分钟前
Apifox 6 月更新|Apifox CLI 全面升级、导入导出优化、OAuth 2.0 支持自动刷新令牌
前端·后端·测试
CodingSpace13 分钟前
TypeScript 装饰器
前端
宸翰16 分钟前
解决 uni-app App 端 vue-i18n 占位符丢失:封装跨端可用的 tf 格式化方法
前端·vue.js·uni-app
systemPro22 分钟前
光储充系统数据流全解析:PV / ESS / GRID 数据怎么流转,线损怎么算
前端
古茗前端团队2 小时前
急招!前端|测试|后端|产品(名额多,速来)
前端·后端·架构
Lsx_3 小时前
不只是 Prompt:用 Superpowers Skill 给 AI 编程装上工程化工作流
前端·ai编程·claude
小碗细面3 小时前
前端 Prompt 工程实战:如何搭建场景化 Prompt 库
前端·ai编程
阿瑞IT3 小时前
2026年 AI Agent 生产化落地全景:四大高频故障根因分析与工程解法
前端
木木剑光3 小时前
我开源了一个 React 组件库,沉淀了多个高频组件和实用 Hooks
前端·javascript·react.js
kyriewen3 小时前
DeepSeek API 高峰时段涨价 2 倍,便宜大碗的时代要结束了?
前端·ai编程·deepseek