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

WebPack》》Loader原理、分类

Loader 原理

webpack它默认只知道如何处理 JS 和 JSON 模块,
Loader 是 webpack 的核心概念之一,它允许 webpack 处理除 JavaScript 之外的其他类型文件。Loader 本质上是一个函数,它接收源文件内容,对其进行转换,然后返回转换后的结果。
》》loader 分类

  1. pre:前置 loader
  2. normal:普通loader
  3. inline:内联loader
  4. post:后置loader
  5. 这个4类 执行顺序 pre>normal>inline>post
    》》执行顺序

基本执行顺序规则 从右到左(或从下到上)的顺序执行:这是 webpack Loader 的基本执行顺序

同步 Loader 立即执行:同步 Loader 会按照顺序立即执行并返回结果

异步 Loader 会暂停链式执行:遇到异步 Loader 时,会等待其回调完成后再继续后续 Loader

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

自定义loader

我们知道loader的原理就是将输入的源内容进行处理后返回,loader 有两种方式返回处理后的内容:

## 方式一 return source  返回是源内容转换后的内容module.exports = function (source) {// 处理 source ...const content = source.replace("hello", "哈哈");return content;}## 方式二 this.callback() 这种方式可以返回除了处理内容以外的其它信息,
##       this.callback 是 webpack 给 loader 注入的 API,方便 loader 和 webpack之间通信。module.exports = function (source) {// 处理 sourceconst content = source.replace("hello", "哈哈");// 使用 this.callback 返回内容this.callback(null, content);// 使用 this.callback 返回内容时,该 loader 必须返回 undefined,// 以让 Webpack 知道该 loader 返回的结果在 this.callback 中,而不是 return 中 return};##################################################
module
http://www.lryc.cn/news/625305.html

相关文章:

  • 如何在 Ubuntu Linux 上安装 RPM 软件包
  • 字符分类函数与字符转换函数
  • 在Qt中使用PaddleOCR进行文本识别
  • ubuntu24.04 用apt安装的mysql修改存储路径(文件夹、目录)
  • Vue2+Vue3前端开发_Day1
  • 当宠物机器人装上「第六感」:Deepoc 具身智能如何重构宠物机器人照看逻辑
  • Ubuntu22.04安装docker最新教程,包含安装自动脚本
  • 雷卯针对香橙派Orange Pi 3 LTS开发板防雷防静电方案
  • 在 Windows 上使用 Kind 创建本地 Kubernetes 集群并集成Traefik 进行负载均衡
  • Linux下Nginx安装及负载均衡配置
  • pytest高级用法之插件开发
  • Docker核心---数据卷(堵门秘籍)
  • RxJava 在 Android 即时通讯中的应用:封装、处理与控制
  • OpenHarmony之打造全场景智联基座的“分布式星链 ”WLAN子系统
  • (第五篇)spring cloud之Ribbon负载均衡
  • C语言实战:从零开始编写一个通用配置文件解析器
  • 常见的 Bash 命令及简单脚本
  • 量子计算和超级计算机将彻底改变技术
  • 记录Webapi Excel 导出
  • 【qml-4】qml与c++交互(类型多例)
  • 【CPP】一个CPP的Library(libXXXcore)和测试程序XXX_main的Demo
  • kkfileview预览Excel文件去掉左上角的跳转HTM预览、打印按钮
  • Spring Boot 全局异常处理
  • JVM参数优化
  • 《算法导论》第 29 章 - 线性规划
  • Matplotlib数据可视化实战:Matplotlib子图布局与管理入门
  • Day10--滑动窗口与双指针--2875. 无限数组的最短子数组,76. 最小覆盖子串,632. 最小区间
  • Hugging Face 核心组件介绍
  • 【牛客刷题】岛屿数量问题:BFS与DFS解法深度解析
  • Git的初步学习