2 Star 6 Fork 1

陈颖 / Blogs

 / 详情

【webpack】loader

已完成
拥有者
创建于  
2022-01-28 10:01

loader的类型

loader的类型主要分为:

post(后置)+inline(内联)+normal(正常)+pre(前置)

可以简单的记为 后脸挣钱,loader类型不一样,执行的顺序也不一样

增加参数 enforce, 设置loader类型(post, pre),不设置enforce 默认为normal loader.

而内联loader的用法比较特殊

let title = require('inline-loader!inline-loader2!./title.js')
// 用 !将loader隔开

loader的执行顺序

输入图片说明

比如 a!b!c!module, 正常调用顺序应该是 c、b、a,但是真正调用顺序是 a(pitch)、b(pitch)、c(pitch)、c、b、a,如果其中任何一个 pitching loader 返回了值就相当于在它以及它右边的 loader 已经执行完毕

loader的原理

loader其实就是一个函数,里面的参数表示源码

function loader(source) {
    // 如果loader里面有异步逻辑,我们可以使用const cb = this.async()来处理这个逻辑
    return source
}
module.exports = loader

说白了loader就是根据顺序,对源代码进行自己的处理逻辑之后,交给下一个loader处理

评论 (0)

陈颖 创建了任务
陈颖 任务状态待办的 修改为已完成
陈颖 添加了
 
工程化
标签
陈颖 修改了描述
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
5470324 chenying1996 1619770733
JavaScript
1
https://gitee.com/ChenYing1996/blogs.git
git@gitee.com:ChenYing1996/blogs.git
ChenYing1996
blogs
Blogs

搜索帮助