- 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 中文文档