四时宝库

程序员的知识宝库

Webpack 的 Loader 为什么是从右往左写?

大家好,我是前端西瓜哥,今天随便说点小知识点。

Webpack 的 Loader 为什么是从右往左写?

比如 style-loader!css-loader!sass-loader,最先执行的是最右边的 sass-loader,然后是 css-loader,最后才是 style-loader。


这是因为,我们对数据的处理有两种抽象。

假设我们要将数据用多个处理器进行处理。处理器为 a、b、c。

我们可以怎么写?

写法一,管线写法,用 linux 的应该比较理解。

function resolve(data, a, b, c) {
  const data1 = a(data)
  const data2 = b(data1)
  const data3 = c(data2)
  return data3
}

顺序从左往右。执行顺序是 a -> b -> c

写法二:形式上的函数套函数,匹配 形式

function resolve(data, a, b, c) {
  return a(b(c(data)))
}

形式表现 上,它是 a(b(c(data))),但它的执行顺序是 c -> b -> a

顺带一提,axios 的拦截器也是从右往左的。

说真的我也不习惯从右往左,但确实有这种流派。就像坐标系也各种流派,什么左手坐标系右手坐标系,什么场景坐标系、纹理坐标系、设备坐标系,花里胡哨的。

它让你用啥你就用啥就行了。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接