美文网首页
webpack的loader的加载顺序为什么是从右向左

webpack的loader的加载顺序为什么是从右向左

作者: 指尖跳动 | 来源:发表于2020-01-11 18:35 被阅读0次

其实为啥是从右往左,而不从左往右,只是Webpack选择了compose方式,而不是pipe的方式而已,在技术上实现从左往右也不会有难度

在Uninx有pipeline的概念,平时应该也有接触,比如 ps aux | grep node,这些都是从左往右的。

但是在函数式编程中有组合的概念,我们数学中常见的f(g(x)),在函数式编程一般的实现方式是从右往左,如

const compose = (...fns) => x => fns.reduceRight((v, f) => f(v), x);
const add1 = n => n + 1; //加1
const double = n => n * 2; // 乘2
const add1ThenDouble = compose(
  double,
  add1
);
add1ThenDouble(2); // 6
// ((2 + 1 = 3) * 2 = 6) 

这里可以看到我们先执行的加1,然后执行的double,在compose中是采用reduceRight,所以我们传入参数的顺序编程了先传入double,后传入add1

那么其实也可以实现从左往右

const pipe = (...fns) => x => fns.reduce((v, f) => f(v), x);
const add1ThenDouble = pipe(
  add1,
  double
);
add1ThenDouble(2); // 6
// ((2 + 1 = 3) * 2 = 6)

所以只不过webpack选择了函数式编程的方式,所以loader的顺序编程了从右往左,如果webpack选择了pipe的方式,那么大家现在写loader的时候的顺序就变成从左往右了

  • compose : require("style-loader!css-loader!sass-loader!./my-styles.sass");

  • pipe : require("./my-styles.sass!sass-loader!css-loader!style-loader");

相关文章

  • webpack的loader的加载顺序为什么是从右向左

    其实为啥是从右往左,而不从左往右,只是Webpack选择了compose方式,而不是pipe的方式而已,在技术上实...

  • webpack loader加载顺序

    今天起server的时候发现,scss加载报错,仔细检查发现是loader顺序写错了,贴一个官网的例子: 写的很明...

  • 关于webpack loader的加载顺序

    函数组合 先介绍一个概念,函数组合:函数组合是函数式编程中非常重要的思想,它的实现的思路也没有特别复杂。 函数组合...

  • webpack loader使用

    本节我们来学习 webpack 中 loader 加载器的使用,那么什么是 loader 呢。从本质上来说,loa...

  • webpack loader使用

    本节我们来学习 webpack 中 loader 加载器的使用,那么什么是 loader 呢。从本质上来说,loa...

  • webpack安装下

    webpack loader 和plugin的区别是什么? loader:加载器=>加载文件 (load文件)pl...

  • 20-webpack 加载字体优化

    在 08-webpack加载字体 中,使用 file-loader 可以加载字体资源。 通过 url-loader...

  • webpack错误处理

    (1)配置文件语法错误 (2)Loader的加载顺序的问题 多个loader是从右到左开始解析的 摆放顺序不能错 ...

  • 怎么编写一个 webpack loader

    编写 loader 前需要知道 webpack loader 的执行循序?从右到左执行。 为什么 webpack ...

  • 2017.12. 值得注意的问题

    loader和插件的区别 loader 用于加载某些资源文件。 因为webpack 本身只能打包commonjs规...

网友评论

      本文标题:webpack的loader的加载顺序为什么是从右向左

      本文链接:https://www.haomeiwen.com/subject/fldbactx.html