Webpack依赖

article/2025/6/28 22:49:20

Webpack到底怎么对我们的项目进行打包捏?

在webpack处理应用程序时,会根据命令或者配置文件找到入口文件

从入口开始,会生成一个依赖关系图,这个依赖关系图会包含应用程序中所需的所有模块(.js、css文件、图片、字体等)

遍历图结构,打包一个个模块(根据文件的不同使用不同的loader解析)

css-loader的使用

我们需要一个loader来加载css文件,但是loader是什么呢?

loader可以用来对模块的源代码进行转换

可以将css文件看成是一个模块,是通过import来加载这个模块的

在加载这个模块的时候,webpack不知道如何对其进行加载,我们必须制定对应的loader来完成这个功能

对于加载css文件来说,需要一个可以读取css文件的loader

这个loader最常用的是css-loader

css-loader的使用方案

如何使用这个loader来加载css文件呢?

三种方式:

内联方式

CLI方式(webpack5中不再使用)

配置方式 

 css-loader的安装:

npm install css-loader -D

内联方式:

内联方式使用较少,因为不方便管理

在引入的样式前加上使用的loader并且使用!分割

import "css-loader!../css/style.css";

CLI方式实际应用中也比较少使用,不方便管理

loader配置方式

配置方式表示的意思是在我们的webpack.config.js文件中写明配置信息

module.rules允许我们配置多个loader,因为我们也会继续使用其他的loader来完成其他文件的加载

这种方式可以更好的表示loader的配置,也方便后期的维护,让你对各个loader有一个全局的概览

module.rules的配置:

rules属性对应的值是一个数组

数组中存放的是一个个的Rule,Rule是一个对象,对象中可以设置多个属性

test属性:用于对resource进行匹配的,通常会设置成正则表达式

use:对应的值是一个数组

useEntry是一个对象,可以通过对象的属性来设置一些其他属性

loader:必须有一个loader属性,对应值是一个字符串

options:可选的属性,值是一个字符串或者对象,值会被传入到loader中

query:目前已经使用options来替代

传递字符串是loader属性的简写方式

loader属性:Rule.use:[{loader}]的简写

创建配置文件wk.config.js:

const path = require('path');module.exports = {// 设置打包的模式mode: 'development',// 设置入口文件entry: './src/index.js',// 设置输出output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist')},// 配置模块规则module: {rules: [{test: /\.css$/,use: ['style-loader', 'css-loader']}]}
};

接下来进行安装(css-loader负责将.css文件进行解析,并不会将解析之后的css插入到页面中,如果再插入style中,那么还需要另外一个loader,就是style-loader):

npm install style-loader

安装完之后就可以运行npm run build进行打包了

use中多个Loader的使用顺序是从后往前

如果loader只有一个的话可以进行简写:

loader:"css-loader"

处理less文件

const path = require('path');module.exports = {// 设置打包的模式mode: 'development',// 设置入口文件entry: './src/index.js',// 设置输出output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist')},// 配置模块规则module: {rules: [{test: /\.css$/,use: ['style-loader', 'css-loader']},{test: /\.less$/,use:[ "style-loader","css-loader","less-loader"]}]}
};

处理less文件的配置文件是这样写的

收工入眠


http://www.hkcw.cn/article/gtVMvioNqA.shtml

相关文章

关于找不到符号,符号变量log的问题的解决方案

创建时间:06月02日 1、问题描述 最近在学习鱼皮的AI超级智能体项目过程中,遇到如下错误: java: 找不到符号符号: 变量 log位置: 类 com.liucc.aiagent.app.LoveApp2、排查思路 网上的常见解决思路主要是检查lombok插件是否安装、Enable…

mysql离线安装教程

1.下载地址: https://downloads.mysql.com/archives/community/ 2.上传安装包到系统目录,并解压 tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar3.检查系统中是否存在mariadb的rpm包 rpm -qa|grep mariadb存在则删除 rpm -e xxx4.解压完后执行如下命令安装 sudo rpm -iv…

【git-首次初始化本地项目、关联远程仓库】

使用场景: windows系统本地首次创建的项目本地已存在但未关联为git项目 操作步骤 创建远程仓库 在gitee或github创建新仓库即可本地安装git 搜索“git安装教程”,按照步骤安装即可打开git中端,进入项目文件夹 cd E:\xxx备注:这…

AI驱动的文本转Mermaid图表工具Smart Mermaid

简介 什么是 Smart Mermaid ? Smart Mermaid 是一款基于 AI 技术的 Web 应用程序,能够将文本内容智能转换为 Mermaid 格式的代码,并将其渲染成可视化图表。用户只需输入文本描述,AI 即可生成相应的图表,支持多种图表类…

调用蓝耘API打造AI 智能客服系统实践教程

声明:文章是实验教程,不是广告 1.前言 在用户与人工客服的沟通中,等待时间长、需求难满足等问题频发,企业面临用户流失风险,用户渴望快速精准的答案,企业需要“开源节流”、“降本增效”。对此&#xff0c…

VM图像处理之图像二值化

什么是灰度? 灰度(Grayscale)是指将彩色图像转换为仅包含亮度信息(黑白过渡)的单通道图像的过程或结果。灰度图像中每个像素的数值代表该点的明暗程度,而不包含颜色信息。 亮度代替颜色: 灰度…

通信革新与网络安全探索与创新:开启未来之门

在科技飞速发展的当下,各领域的前沿探索正不断刷新着人类的认知与能力边界。脑机接口领域取得重大突破,上海阶梯医疗科技有限公司成功完成国内首例侵入式脑机接口系统前瞻性临床试验,受试者通过植入大脑的设备实现用意念玩游戏,为…

sigmastar实现SD卡升级

参考文章:http://wx.comake.online/doc/DD22dk2f3zx-SSD21X-SSD22X/customer/development/software/Px/zh/sys/P3/usb%20&%20sd%20update.html#21-sd 1、构建SD卡升级包 在project下make image完成后使用make_sd_upgrade_sigmastar.sh脚本打包SD卡升级包。 ./make_sd_up…

hook组件-useEffect、useRef

hook组件-useEffect、useRef useEffect 用法及执行机制 WillMount -> render -> DidMount ShouldUpdate -> WillUpdate -> render -> DidUpdate WillUnmount(只有这个安全) WillReceiveProps useEffect(callback) 默认所有依赖都更新useEffect(callback, [])&am…

Spring 5 响应式编程:构建高性能全栈应用的关键

本文已收录在Github,关注我,紧跟本系列专栏文章,咱们下篇再续! 🚀 魔都架构师 | 全网30W技术追随者🔧 大厂分布式系统/数据中台实战专家🏆 主导交易系统百万级流量调优 & 车联网平台架构&a…

用“红烧鱼”类比说明卷积神经网络CNN的概念

我们用一个生活中的例子——「厨房做红烧鱼」 的场景,来类比卷积神经网络中多层卷积核的工作过程。你会发现,卷积层就像厨房里分工明确的厨师团队,逐步处理食材,最终完成一道复杂的菜品。 🐟 生活案例:厨房…

如何捍卫德国利益 默茨访美很“烧脑”

根据德国政府日前的声明,德国总理默茨将于当地时间5日访美,与美国总统特朗普举行首次单独会晤。△路透社报道截图德美关系一直是西方世界中最为重要的双边关系之一。然而,自美国总统特朗普提出“美国优先”理念以来,这对跨大西洋盟友间的裂痕不断加深。此前,白宫椭圆形办公…

Google机器学习实践指南(TensorFlow六大优化器)

🔥 Google机器学习实践指南(TensorFlow六大优化器) Google机器学习实战(12)-20分钟掌握TensorFlow优化器 一、优化器核心作用 ▲ 训练本质: 迭代求解使损失函数最小化的模型参数,关键要素: 特征工程&…

第15讲、Odoo 18 中 自动任务(ir.cron) 的实现原理与应用

目录 引言ir.cron 实现原理运行机制应用场景使用案例 案例一:定期发送邮件通知案例二:自动清理过期数据案例三:订单状态自动更新案例四:系统健康检查 最佳实践与注意事项总结 引言 在企业级应用中,自动化是提高效率…

消费信心回升5.3%!亚马逊泳装搜索量暴涨120%的启示

近期,美国经济呈现出令人鼓舞的复苏迹象。根据密歇根大学发布的最新消费者信心指数(Consumer Sentiment Index),2024年5月,该指数环比增长5.3%,达到69.1,创下自2023年中以来的最高水平。与此同时…

绿发会回应涉哈佛女孩蒋雨融争议 特权质疑风波

绿发会回应涉哈佛女孩蒋雨融争议 特权质疑风波!2025年5月29日,哈佛大学毕业典礼上,中国籍学生蒋雨融作为毕业生代表发表演讲。她穿着中国传统服饰,通过讲述翻译洗衣机中文标识的趣事,呼吁多元与包容,并间接批评了特朗普政府的“禁招令”。这场本应充满励志色彩的演讲却因…

高效使用Map的“新”方法

个人名片: 😊作者简介:一个为了让更多人看见许舒雅的宝贝的小白先生 🤡个人主页:🔗 许舒雅的宝贝 🐼座右铭:深夜两点半的夜灯依旧闪烁,凌晨四点的闹钟不止你一个。 &…

35.x64汇编写法(二)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 上一个内容:34.x64汇编写法(一) 上一个内容写了,汇编调…

多地公共自行车退场 设备老旧促变革

多地公共自行车退场 设备老旧促变革!近期,多地宣布公共自行车项目停止运营。安徽省马鞍山市和县住房和城乡建设局发布公告称,该县公共自行车将于5月28日终止运营,有需要的市民在2025年6月28日前办理骑行卡押金退款业务。和县公共自行车系统于2016年2月正式运营,县城主城区…

Python----目标检测(训练YOLOV8网络)

一、数据集标注 在已经采集的数据中,使用labelImg进行数据集标注,标注后的txt与原始 图像文件同名且在同一个文件夹(data)即可。 二、制作数据集 在data目录的同目录下,新建dataset目录,以存放制作好的YOLO…