2.webpack loader

news2024/9/25 19:22:41

webpack默认只能处理 以 .js 为后缀名的文件,其他的文件需要用loader,比如

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

目录

1  css-loader

1.1  安装

1.2  配置

1.3  使用

2  less-loader

2.1  安装

2.2  配置

2.3  使用

3  url-loader

3.1  安装

3.2  配置

3.3  使用

4  babel-loader

4.1  安装

4.2  配置

4.3  使用


1  css-loader

1.1  安装

1.2  配置

前面的test是正则,意思是以 .css 结尾,整体的意思是如果以 .css结尾,就先用css-loader,再用style-loader

  • use数组中指定的loader顺序是固定的,不能先写css-loader再写style-loader
  • use中多个loader调用顺序是从后向前调用,css-loader处理完之后会交给style-loader处理
  • 等style-loader处理完之后会将处理结果转交给webpack,然后webpack把处理结果合并到打包文件中

1.3  使用

先搞一个css,把li的点去掉

然后在index.js中引入

之后重启webpack-server

发现达到了效果

2  less-loader

2.1  安装

下面的less我一开始没有装,只装了less-loader也可以使用

2.2  配置

2.3  使用

搞一个index1.less

JS中引入

重启服务后发现less生效

3  url-loader

url-loader是处理图片的

3.1  安装

3.2  配置

limit的单位是字节(byte),在这里的意思是,只有小于22229字节的图片才会被转换为base64格式的图片

可以不写limit

如果大于22229字节的图片,那么就会转换为地址(图片路径)

  • base64不需要进行额外的请求,但体积大(大约比图片路径形式大30%),图片路径需要进行额外的请求,但体积小

3.3  使用

先搞一张图片放在src/images中

然后在index.html中搞一个img

之后在index.js中导入图片,并将其设置给img的src

重新启动服务后发现可以加载图片文件

4  babel-loader

babel-loader用于处理更高级的JS语法,比如装饰器(@),类(class)

4.1  安装

4.2  配置

在webpack.config.js中加入如下配置,意思是以js结尾的文件交给babel-loader来处理,除了node_modules中的js文件

之后在项目根目录下新建文件,命名为babel.config.js,然后写入下面内容

  • babel-loader是webpack的插件,@babel/plugin-proposal-decorators是babel-loader的插件

legacy字面意思是遗产的意思,他的可选值是布尔值,如果legacy为true,那么表示可以支持古老的语法(这里就是古老的装饰器语法),如果为false就是不支持

4.3  使用

在index.js中加入类和装饰器

这里代码的意思是先使用function定义一个装饰器info,info的参数target是要给谁的意思,带上这个装饰器的类会被添加一个属性info

之后创建一个空的类,名为Person,给Person加上装饰器,加上装饰器的Person会有info这个属性,最后我们打印出这个属性

这里的红波浪线并不是说写错了,而是说不建议这样写,你可以根据提示消除这个warning

将其勾选上,这个warning就没有了

 重新开启服务后,发现类与装饰器语法生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/399745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[学习笔记] 2. 数据结构

数据结构视频地址:https://www.bilibili.com/video/BV1uA411N7c5 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字…

“小霞”黄绮珊绮望三十巡回演唱会将于3月18日杭州大剧院震撼开唱!

•中年成名 四十余载静待盛放 歌手黄绮珊,1991年正式进入歌坛,至今已满三十周年。黄绮珊前半生的歌手之路好像并不是那么顺畅。虽然一直有着华语乐坛的顶尖歌唱实力,但在45岁之前,黄绮珊一直处于“歌红人不红”的状态。不少人听过…

postgresql 自动备份 bat实现

postgres数据据备分,用cmd命令有些烦,写了个bat实现 BAT脚本中常用的注释命令有rem、@rem和:: rem、@rem和::用法都很简单,直接在命令后加上要注释的语句即可。例如下图,语言前加了rem,运行BAT时就会自动忽略这个句子。需要注释多行时,每行前面都要加上rem、@rem和::。…

Kalman Filter in SLAM (3) ——Extended Kalman Filter (EKF, 扩展卡尔曼滤波)

文章目录1. 线性系统的 Kalman Filter 回顾2. Extended Kalman Filter 之 DR_CAN讲解笔记2.1. 非线性系统2.2. 非线性系统线性化2.2.1. 状态方程f(xk)f(x_k)f(xk​)在上一次的最优估计状态x^k−1\hat{x}_{k-1}x^k−1​处线性化2.2.2. 观测方程h(xk)h(x_k)h(xk​)在这一次的预测…

企业知识管理应该怎么做?

企业知识管理是指企业利用各种信息技术手段,对企业内部的知识进行收集、整理、分析和传递,以提高企业的知识水平和竞争力。企业知识管理涉及到企业内部的各种知识,包括技术知识、专业知识、经验知识、市场知识等。 企业知识管理的方式可以分为…

DETR目标检测算法学习记录

引言 无论是One Stage中的YOLO还是Two-Stage中的Faster-RCNN,其虽然都在目标检测领域有着一席之地,但无一例外都是基于Anchor的模型算法,这就导致其在输出结果时不可避免的进行一些如非极大值抑制等操作来进一步选择最优解,这会带…

uniCloud基础使用

获取openID云函数use strict; exports.main async (event, context) > {//event为客户端上传的参数console.log(event : , event)// jscode2session 微信小程序登录接口,获取openidconst {code} event;// 云函数中如需要请求其他http服务,则使用uni…

Day912.多环境配置隔离 -SpringBoot与K8s云原生微服务实践

多环境配置隔离 Hi,我是阿昌,今天学习记录的是关于多环境配置隔离的内容。 多环境支持,是现在互联网开发研发和交付的主流基本需求。通过规范多环境配置可以规范开发流程,并同时提示项目的开发质量和效率等。 一个公司应该规范…

网络使用情况监控

您的网络是否经常成为网络紧张或带宽瓶颈的牺牲品?瓶颈并不一定意味着带宽不足;它们可能是由占用带宽到严重网络威胁等任何因素造成的。密切监控您的网络并分析带宽使用情况和网络流量对于找到问题的根源非常重要。NetFlow Analyzer是最先进的网络使用情…

Simulink自动化-Matlab脚本自动创建Runnable及mapping

文章目录前言设计Excel模板编写matlab脚本自动添加Function到Simulink模型自动mapping Function与Runnable总结前言 在之前的一篇文章中,介绍了Autosar S/R接口的自动创建及mapping,传送门:Simulink自动化-Matlab脚本自动生成Autosar RTE S/R接口及mapp…

mujoco安装及urdf转xml方法记录

参考 mujoco210及mujoco-py安装 下载适用于Linux或 OSX的 MuJoCo 2.1 版二进制文件 。 将mujoco210的下载的目录解压到~/.mujoco/mujoco210路径下. 注意:如果要为包指定非标准位置,请使用环境变量MUJOCO_PY_MUJOCO_PATH。 验证是否安装成功&#xff08…

springcloud3 fegin服务超时的配置和日志级别的配置2

一 fegin的概述 1.1 fegin的默认超时时间 默认fegin客户端只等待1秒钟,超过1秒钟,直接会返回错误。 1.2 架构图 1.2.1 说明 1.2.2 启动操作 1.先启动9001,9002 eureka 2.启动9003 服务提供者 3.启动9006消费者 1.3 情况验证 1.3.1 正常默认情…

云端IDE:TitanIDE v2.6.0 正式发布

原文作者:行云创新技术总监 邓冰寒 引言 云原生集成开发环境 TitanIDE v2.6.0 正式发布了,一起来看看都有那些全新的体验吧! TitanIDE 是一款云IDE, 也称 CloudIDE,作为数字化时代研发体系不可或缺的一环,和企业建设…

C++网络编程(一)本地socket通信

C网络编程(一) socket通信 前言 本次内容简单描述C网络通信中,采用socket连接客户端与服务器端的方法,以及过程中所涉及的函数概要与部分函数使用细节。记录本人C网络学习的过程。 网络通信的Socket socket,即“插座”,在网络中译作中文“套接字”,应…

项目管理必备:如何绘制一份优秀的甘特图?

本文一共分为两部分—— 分享60Excel甘特图模板,简单省事儿分享两种甘特图制作教程,高效快捷 第一部分——60甘特图模板 分享一些项目管理甘特图的模板,省事儿!高效!简单! Excel甘特图表模板自取&#xf…

Laya小游戏开发,laya3D美术篇——1——关于laya自带的几个shader的基础运用讲解。

最近三年,基本上做的都是laya小游戏项目。也就是微信小程序,很多业内同行都觉得laya做小游戏不好用,去用了其他平台,甚至还有些做app游戏的,都不来趟laya这个坑。原因有那么以下几点。laya对于unity的辅助开发&#xf…

STM32的USART发送数据时如何使用TXE和TC标志

8人从A出发去D旅游的故事 STM32的USART发送数据时如何使用TXE和TC标志 TXE为1: TDR里的数据全部移到了移位寄存器,且没有新的数据TDR。 TXE为0: TDR里有数据,未空,则TXE0。 TC为1: 从TDR过来的数据全部被移…

一文上手图数据备份恢复工具 NebulaGraph BR

作者:NebulaGraph 工程师 Kenshin NebulaGraph BR 开源已经有一段时间了,为了给社区用户提供一个更稳、更快、更易用的备份恢复工具,去年对其进行了比较大的重构。NebulaGraph BR(以下简称 BR)分为社区版和企业版两个版…

Git学习笔记(五)——分支

一、创建与合并分支创建分支:Git创建一个分支很快,因为除了增加一个指针,改改HEAD的指向,工作区的文件都没有任何变化。合并分支:就是直接把master(其中一条分支)指向dev(另一条分支…