允许你在不安装 webpack 的情况下运行 loaders.
作用:
- 作为 webpack 的依赖,webpack 中使用它执行 loader.
- 进行 loader 的开发和调试.
通过 loader-utils 的 getOptions 方法获取.
const loaderUtils = require('loader-utils');
module.exports = function(source) {
const { name } = loaderUtils.getOptions(this);
};
loader 内直接通过 throw 抛出
通过 this.callback 传递错误
this.callback(
err: Error | null,
content: string | Buffer,
sourceMap?: SourceMap,
meta?: any
);
通过 this.async 来返回一个异步函数.
- 第一个参数是 Error, 第二个参数是处理结果.
webpack 中默认开启 loader 缓存.
- 可以使用 this.cacheable(false) 关掉缓存.
缓存条件: loader 的结果在相同的输入下有确定的输出.
- 有依赖的 loader 无法使用缓存.
通过 this.emitFile 进行文件写入.