Webpack:Loader学习——loader API(loader函数里面的方法)

本文介绍了webpackloader中的异步操作,如`this.async()`用于创建异步回调,`this.callback`用于同步或异步传递结果,包括错误、处理后的内容、sourceMap和元信息。此外,还提到了`this.getOptions`用于获取loader配置,以及`this.utils`对象提供的路径转换方法。
摘要由CSDN通过智能技术生成
  • this.async

        异步回调 loader。返回 this.callback

        const callback = this.async()

module.exports = function (content, map, meta) {
  const callback = this.async();
//异步loader
  setTimeout(() => {
    console.log("test2", content);
    callback(null, content, map, meta);
  }, 1000);
};
  • this.callback

        可以同步或者异步调用的并返回多个结果的函数

        this.callback(err, content, sourceMap?, meta?)

module.exports = function (content, map, meta) {
  console.log("test1",content);
  /*
    第一个参数:err 代表是否有错误 null表示没有错误
    第二个参数:content 处理后的内容
    第三个参数:source-map 继续传递source-map
    第四个参数:meta 给下一个loader传递参数
  */
  this.callback(null, content, map, meta);
  // 同步loader中不能进行异步操作
  // setTimeout(() => {
  //   console.log("test,1",content);
  //   this.callback(null, content, map, meta);
  // }, 1000);
};
  • this.getOptions(schema)

        获取 loader 的 options

        this.getOptions(schema)schema规则

  • this.emitFile   

           产生一个文件

        this.emitFile(name, content, sourceMap)

  • this.utils.contextify

        返回一个相对路径

        this.utils.contextify(context, request) context当前路径 request要处理的路径

  • this.utils.absolutify

        返回一个绝对路径

        this.utils.absolutify(context, request)

Loader Interface | webpack 中文文档

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值