首页 > 其他分享 >webpack-loader的作用和loader调用的过程

webpack-loader的作用和loader调用的过程

时间:2023-05-24 23:11:07浏览次数:48  
标签:文件 调用 处理 loader webpack 打包 css

loader概述

在实际开发过程中,webpack默认只能打包处理以.js后缀名结尾的模块。其他非.js后缀名结尾的模块,webpack默认处理不了,需要调用loader加载器才可以正常打包,否则会报错!

loader加载器的作用:协助webpack打包处理特定的文件模块。比如:

  • css-loader可以打包处理.css相关的文件
  • less-loader可以打包处理.less相关的文件
  • babel-loader可以打包处理webpack无法处理的高级JS语法

loader的调用过程

image

打包处理css文件

  1. 运行npm i style-loader css-loader -D命令,安装处理css文件的loader
  2. 在webpack.config.js的module->rules数组中,添加loader规则如下:
module:{//所有第三方文件模块的匹配规则
	rules:[//文件后缀名的匹配规则
		{test:/\.css$/,use:['style-loader','css-loader']}
	]
}

其中,test表示匹配的文件类型use表示对应要调用的loader
注意:

  • use数组中指定的loader顺序是固定的
  • 多个loader的调用顺序是:从后往前调用
  1. webpack默认只能打包处理.js结尾的文件,处理不了其它后缀的文件
  2. 由于代码中包含了index.css这个文件,因此webpack默认处理不了
  3. 挡webpack发现某个文件处理不了的时候,会查找webpack.config.js这个配置文件,看module.rules数组中,是否配置了对应的loader加载器。
  4. webpack把index.css这个文件,转交给最后一个loader进行处理(先转交给css-loader)
  5. 当css-loader处理完毕之后,会把处理的结果,转交给下一个loader(转交给style-loader)
  6. 当style-loader处理完毕之后,发现没有下一个loader了,于是就把处理的结果,转交给了webpack
  7. webpack把style-loader处理的结果,合并到/dist/bundles.js中,最终生成打包好的文件

标签:文件,调用,处理,loader,webpack,打包,css
From: https://www.cnblogs.com/yang-young-young/p/17429830.html

相关文章

  • 之前servlet可用,之后修改,调用又表现为空白
    之前能够显示。看自己代码发现自己上层发完,无处理,没进行跳转。 修改后可以 ......
  • 页面中调用swf 时allowScriptAccess 参数
    <paramname="allowScriptAccess"value="always"/>使用allowScriptAccess使Flash应用程序可与其所在的HTML页通信。此参数是必需的,因为fscommand()和getURL()操作可能导致JavaScript使用HTML页的权限,而该权限可能与Flash应用程序的权限不同。这与跨域安全性有......
  • java 如何实现短函数调用?
    在Java中,可以使用lambda表达式来实现短函数调用。Lambda表达式是一个匿名函数,它可以传递给方法或存储在变量中,以便在需要时使用。不多说废话!!下面直接给大家示范一下,如何使用Lambda表达式实现短函数调用:在上面这段代码中:首先我们自定义一个函数接口TestInterface;在这个接口中......
  • 调用EasyCVR平台base64编码接口转换图片,格式出现异常是什么原因?
    EasyCVR视频融合平台基于云边端智能协同架构,具有强大的设备接入、视频汇聚管理、全网分发、按需调阅、鉴权播放、智能分析等视频能力与服务。平台开放度高、兼容性强、可支持灵活拓展与第三方集成。有用户反馈,获取通道实时快照的返回结果,放到在线转换为图片的工具中出现了转换失败......
  • 微服务框架SpringCloud-2-服务拆分及远程调用-2.2服务远程调用
    微服务框架SpringCloud2服务拆分及远程调用2.2服务远程调用2.2.1根据订单id查询订单功能需求:根据订单id查询订单的同时,把订单所属的用户信息一起返回现在是不能做到的, 可以看到现在user是个null【所以没有达到需求】现在的情况是下面的样子  但是需求想要的......
  • 直播app开发,基于van-uploader封装的文件上传图片压缩组件
    直播app开发,基于van-uploader封装的文件上传图片压缩组件1、调用<template>  <div>    <compress-uploaderv-model="fileList":compressSwitch="true":quality="0.5":maxCount="3"/>  </div></template> <......
  • obloader 基于典型场景数据导入
    作者:刘书盛热衷技术分享、编写技术文档原创作品oceanbase数据库原创内容未经授权不得随意使用,转载请联系小编并注明来源,谢谢!预处理函数:函数签名返回类型描述LOWER(char)String对参数值中的字母转换为小写。参数值可以是列名、常量或者嵌套表达式。当参数值是常量......
  • 百度WebUploader中实现文件上传下载的三种解决方案(推荐)
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • python中对象方法的链式调用
    conf=SparkConf().setMaster("Local[*]").setAppName("test_spark_app")#链式调用#下面三条语句功能相当于上面一条语句conf=SparkConf()conf.setMaster("Local[*]")conf.setAppName("test.namel")conf=SparkConf().setMaster(&......
  • 微服务框架SpringCloud微-2-服务拆分及远程调用-demo黑马
    微服务框架SpringCloud微服务架构2服务拆分及远程调用2.1案例Demo2.1.1服务拆分注意事项 这里四个模块,拆成四个服务就行了 单一职责:不同微服务,不要重复开发相同业务【不能像以前那样了】数据独立:不要访问其它微服务的数据库 3.面向服务:将自己的业务暴......