用法准则
- 简单易用。
- 使用链式传递。
- 模块化的输出。
- 确保无状态。
- 使用 loader utilities。
- 记录 loader 的依赖。
- 解析模块依赖关系。
- 提取通用代码。
- 避免绝对路径。
- 使用 peer dependencies。
复杂用法
当链式调用多个 loader 的时候,请记住它们会以相反的顺序执行。取决于数组写法格式,从右向左或者从下向上执行。
最后的 loader 最早调用,将会传入原始资源内容。
第一个 loader 最后调用,期望值是传出 JavaScript 和 source map(可选)。
中间的 loader 执行时,会传入前一个 loader 传出的结果。
{
test: /\.js/,
use: [
'bar-loader',
'foo-loader'
]
}
所以,在接下来的例子,foo-loader 被传入原始资源,bar-loader 将接收 foo-loader 的产出,返回最终转化后的模块和一个 source map(可选);
链式
loader 可以被链式调用意味着不一定要输出 JavaScript。只要下一个 loader 可以处理这个输出,这个 loader 就可以返回任意类型的模块。