Loader
loader
通过 IO 接口读取文件内容,之后调用 LoaderRunner 并将文件内容以 source 参数形式传递到 Loader 数组,source 数据在 Loader 数组内可能会经过若干次形态转换,最终以标准 JavaScript 代码提交给 Webpack 主流程,以此实现代码转译
函数签名:
module.exports = function (source, sourceMap?, data?) {
return source;
};
- 常用 loader 及其原理
- 样式代码:css-loader/style-loader/less-loader,原理参考 https://juejin.cn/post/6944668149849522213
- 资源处理:file-loader/url-loader/raw-loader
- vue-loader(借助了其他 loader,template/script/css)
- 调用链
- 生命周期、pitch(类比事件捕获)
- 例子:less-loader -> css-loader -> style-loader