webpack之loader执行顺序及原理
less-loader、css-loader、style-loader插件作用
less-loader:用于加载.less文件,将less转化为css
css-loader:用于加载.css文件,将css转化为commonjs
style-loader: 将样式通过先安装这几款插件
npm i style-loader css-loader less less-loader -D在webpack.config.js文件中加入如下配置"use strict" const path = require("path") module.exports = { mode: "production", entry: { index: "./src/index.js", search: "./src/search.js" }, output: { path: path.join(__dirname, "dist"), filename: "[name].js" }, mode: "production", module: { rules: [ { test: /.css$/, use: [ "style-loader", "css-loader" ] }, { test: /.less$/, use: [ "style-loader", "css-loader", "less-loader" ] } ] } }解析less主要是通过以上代码中的以下部分{ test: /.less$/, use: [ "style-loader", "css-loader", "less-loader" ] }
这里有一点要注意,他们的解析过程是链式的,所以在use数组中下面的部分会先执行,所以他们的执行顺序其实是less-loader > css-loader > style-loaderwebpack的加载从右往左进行?
其实为啥是从右往左,而不从左往右,只是Webpack选择了compose方式,而不是pipe的方式而已,在技术上实现从左往右也不会有难度。
函数组合:函数组合是函数式编程中非常重要的思想。
函数组合的两种形式:一种是pipe,另一种是compose。前者从左向右组合函数,后者方向相反。
在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");
周群和姜昆合照引争议,握手不放身体紧靠一起,被网友指抱大腿饿了吗?戳右边关注我们,每天给您送上最新出炉的娱乐硬核大餐!3月13日,知名主持人周群晒出的一张照片引起了网友争议,只见她和相声大师姜昆握手合影,两人看上去关系很好。这张照片是由一
回不去的乡下生活!人到中年,压力很大,突然很想念小时候的农村生活,那种无忧无虐的生存状态太棒了!不知到还能回去吗?记住乡下最美好的季节是春夏时分,瓜果丰盛,气候宜人!大人们都很忙,也很累,日出而做日
车坛快报全国充电基础设施增长情况本资讯由中国交通广播制作全国充电基础设施增长情况2023年2月比1月公共充电桩增加3。1万台,2月同比增长54。1。全国充电总电量约25。4亿度,较上月增加2。3亿度,同比增长11
2023年投影仪推荐家用投影仪哪个牌子好?怎么选?(8K字总结)评测体验过不少投影仪,踩过雷,也遇到不少好投影仪,从实际体验出发,给大家分享一些投影仪选购要点和避坑雷点。如果不想看干货,也可以直接拉到后面的推荐部分,肯定能找到适合你的。一为什么
埋点这么方便,还需要做问卷调研吗?埋点在产品中非常常见,在某些重要的位置预设代码,就可以检测用户的行为操作,从直观的数据上推测出用户的喜好。但在埋点出现前,产品经理更多地是用问卷调研的方式,通过沟通了解用户的喜好和
你知道中国历史上的重大事件吗?头条创作挑战赛中国封建社会阶段是中国古代史的最后一个阶段,从公元前475年到公元1840年,经历了多个朝代和历史事件。根据百度百科,其中封建社会阶段可分为五个时期战国秦汉时期是封建
房价上涨去库存,楼市回暖大局已定!今天要小涨,明天要大涨,后天要暴涨,迟早都是涨!优惠变少了,折扣没有了,购房成本提高,没买房的急了!房价上涨压不住,楼市加速回暖,购房人匆匆上车,经济形势一片大好!该买的迟早要买,
徐州的发展现状和未来前景徐州的发展现状和未来前景作为徐州人,对于这个古老的城市,我们自然是早已熟知的。但是,对于那些并不了解徐州的人来说,也许他们并不知道,徐州在全省的面积排名中是位列第二的,仅次于连云港
新能源汽车加速智能化,车险为何还千人一面?2023年开年仅两个月余,新能源车价格战烈火很快蔓延到燃油车市场特斯拉今年以来连续五次的降价猛药有效刺激了销售终端,国内新能源车纷纷跟进。更令市场侧目的是,东风汽车自杀式全系大降价
二手交易趋近年轻化,闲置消费走向五环外不久前,中国自由式滑雪冬奥冠军谷爱凌到英国伦敦的波多贝罗市集上购买二手商品受到关注。全英国有名的二手市场波多贝罗市集是诺丁山最热闹的地方之一,也是好莱坞电影诺丁山的主要取景地。从英
硅谷银行巨头倒下,恐引发科技行业动荡硅谷银行是美国的一家大型银行,主要为创业企业提供金融服务。它是硅谷本地存款最多的银行。不幸的是,2023年3月10日,美国监管机构关闭了硅谷银行,并由美国联邦存款保险公司接管了银行