认识什么是Webpack

目录

1. 认识Webpack

1.1. 什么是Webpack?(定义)

1.2. 使用Webpack

1.2.1. 需求

1.2.2. 步骤

1.3. 入口和出口默认值

1.3.1. 需求代码如下

2. 修改Webpack打包入口和出口

2.1. 步骤:

2.2. 注意

3. Webpack自动生成html文件

3.1. 插件 html-webpack-plugin

3.2. 步骤

 4. Webpack打包css代码

4.1. 加载器 css-loader

4.2. 加载器 style-loader

4.3. 步骤


 

1. 认识Webpack

1.1. 什么是Webpack?(定义)

静态模块:指的是编写代码过程中的,html,css,js,图片等固定内容的文件

打包:把静态模块内容,压缩,整合,转译等(前端工程化)

把 less / sass 转成 css 代码

把 ES6+ 降级成 ES5

支持多种模块标准语法

1.2. 使用Webpack

1.2.1. 需求
  • 封装 utils 包,校验手机号长度和验证码长度,在 src/index.js 中使用并打包观察
1.2.2. 步骤

  • 新建并初始化项目,编写业务源代码
  • 下载 webpack webpack-cli 到当前项目中(版本独立)

npm i webpack webpack-cli --save

  • 配置局部自定义命令

  • 运行打包命令,自动产生 dist 分发文件夹(压缩和优化后,用于最终运行的代码)

npm run build

1.3. 入口和出口默认值

  • 入口的默认值是'./src/index.js'
  • 出口的默认值是'./dist/main.js'
1.3.1. 需求代码如下

// 封装校验手机号长度和校验验证码长度的函数
export const checkPhone = phone => phone.length === 11
export const checkCode = code => code.length === 6
/*** 目标1:体验 webpack 打包过程*/
// 1.1 准备项目和源代码
import { checkPhone, checkCode } from './utils/check.js'
console.log(checkPhone('13900002020'))
console.log(checkCode('123123123123'))
// 1.2 准备 webpack 打包的环境
// 1.3 运行自定义命令打包观察效果(npm run 自定义命令)
{"name": "test01","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "webpack"},"keywords": [],"author": "","license": "ISC","devDependencies": {"webpack": "^5.91.0","webpack-cli": "^5.1.4"}
}

 

2. 修改Webpack打包入口和出口

2.1. 步骤:

  • 项目根目录,新建 webpack.config.js 配置文件
  • 导出配置对象,配置入口,出口文件的路径
  • 重新打包观察

2.2. 注意

  • 只有和入口产生直接/间接的引入关系,才会被打包

在出口output对象里面添加属性——clean: true  //生成打包后内容之前,清空输出目录

 

3. Webpack自动生成html文件

3.1. 插件 html-webpack-plugin

  • 在 Webpack 打包时生成 html 文件

3.2. 步骤

  • 下载 html-webpack-plugin 本地软件包

npm i html-webpack-plugin --save-dev

  • 配置 webpack.config.js 让 Webpack 拥有插件功能

  • 重新打包观察效果

 

 4. Webpack打包css代码

注意:

Webpack 默认只识别 js 代码

把css文件要跟入口文件产生引入关系

4.1. 加载器 css-loader

  • 解析 css 代码

4.2. 加载器 style-loader

  • 把解析后的 css 代码插入到 DOM

4.3. 步骤

  • 准备 css 文件代码引入到 src/login/index.js 中(压缩转译处理等)
  • 下载 css-loader 和 style-loader 本地软件包

npm i css-loader style-loader --save-dev

  • 配置 webpack.config.js 让 Webpack 拥有该加载器功能

  • 打包后观察效果

 

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

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

相关文章

Github 2024-04-03 C开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-03统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量C项目10TDengine: 适用于物联网和工业物联网的高性能时序数据库 创建周期:1686 天开发语言:C协议类型:GNU Affero General Public License v…

D-迷恋网游(遇到过的题,做个笔记)

我的代码&#xff1a; #include <iostream> using namespace std; int main() {int a, b, c; //a表示内向&#xff0c;b表示外向&#xff0c;c表示无所谓cin >> a >> b >> c; //读入数 if (b % 3 0 || 3-b % 3 < c) //如果外向的人能够3人组成…

python - 实现一个通用的插件类

本文提供了一种插件类的实现方案。 定义插件管理器 插件管理器用于注册、销毁、执行插件。 import abc from functools import wraps from typing import Callable, Dictfrom pydantic import (BaseModel,validate_arguments,ValidationError as PydanticValidationError, )d…

真·面试题总结——JVM虚拟机

JVM虚拟机 JVM虚拟机规范与实现 JVM虚拟机规范 JVM虚拟机实现 JVM的常见实现 JVM虚拟机物理架构 JVM虚拟机的运转流程 JVM类加载过程 JVM类加载器及类加载器类型 JVM类加载器双亲委派机制 JVM运行时数据区的内存模型 JVM运行时数据区的内存模型&#xff1a;程序计数器…

蓝桥杯第八届c++大学B组详解

目录 1.购物单 2.等差素数列 3.承压计算 4.方格分割 5.日期问题 6.包子凑数 7.全球变暖 8.k倍区间 1.购物单 题目解析&#xff1a;就是将折扣字符串转化为数字&#xff0c;进行相加求和。 #include<iostream> #include<string> #include<cmath> usin…

vue2 列表一般不使用索引删除的原因

在 Vue 中使用索引来删除列表项可能会导致一系列问题&#xff0c;尤其是在处理动态列表时。以下是一些可能的问题和相应的例子&#xff1a; 1. 数据不一致问题 当你使用索引来删除列表中的某个项时&#xff0c;如果列表中的其他项发生了变化&#xff08;比如新增或重新排序&a…

编译时提示存在多个默认构造函数的错误怎么解决呢?

c程序中&#xff0c;如果编译器提升存在多个默认构造函数怎么解决呢&#xff1f; class Date { public:Date(){_year 1900;_month 1;_day 1;}Date(int year 1900, int month 1, int day 1){_year year;_month month;_day day;} private:int _year;int _month;int _day…

chromium源码学习-调试日志 LOG

在学习 chromium 源码时&#xff0c;我们经常需要增加调试日志&#xff0c;常见的用法一般是 LOG(INFO) << "调试信息";其中 INFO 代表当前这条日志的级别&#xff0c;使用的时候就是输入 INFO 就行。接下来我们在探索下这个宏背后的内容。 一、基本用法 LO…

读所罗门的密码笔记08_共生思想(下)

1. 机器判断 1.1. 在生活的各个领域&#xff0c;机器正在我们无意识的情况下做出更多的决定 1.1.1. 我们看到的新闻会塑造我们的观点和行动&#xff0c;它们是根据我们过去行为中所表达的倾向&#xff0c;或者其他同类人的行为而生成的 1.2. …

K-均值聚类算法

K-均值聚类算法是一种常用的无监督学习算法&#xff0c;用于将数据集分成 K 个簇。该算法的主要思想是通过迭代的方式将数据点分配到离它们最近的簇中&#xff0c;并更新簇的中心点&#xff0c;直到满足某个停止条件为止。 以下是 K-均值聚类算法的基本步骤&#xff1a; 初始化…

【热门话题】WebKit架构简介

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 WebKit架构简介一、引言二、WebKit概览1. 起源与发展2. 模块化设计 三、WebCore…

Dubbo简介及基本作用

Dubbo 是一个高性能、轻量级的开源Java RPC框架。它提供了一套完整的服务治理方案&#xff0c;包括服务的提供、服务的发现、负载均衡、流量调度、服务监控等功能。Dubbo主要用于构建高效的微服务架构&#xff0c;主要面向企业中大型的分布式系统。 Dubbo 能做什么&#xff1a…

软考高级架构师:流水线的概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

基于SSM的“任务发布接收平台”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“任务发布接收平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 前台界面 收藏界面 留言管理界面 任务管理界面 订…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑灵活性供需平衡的新型电力系统长短期储能联合规划》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

file_get_contents(‘php://input‘); 这个postman要如何传参

在 Postman 中传递参数给 file_get_contents(php://input); 是通过请求的 Body 部分来实现的。使用 Postman 进行 API 接口测试时&#xff0c;可以按照以下步骤来传递参数&#xff1a; 打开 Postman 并创建一个新的请求。在请求的 URL 地址栏输入你的 API 地址。选择请求方法为…

蓝桥杯刷题day13——自助餐【算法赛】

一、问题描述 食堂最近推出了自助取餐功能&#xff0c;可以通过盘子的形状自动计算费用。你参与到自助计算价格的项目工作中。视觉组的同学已经帮你通过图像识别把盘子图片转换为了字符串&#xff0c;你只需要计算具体的价格即可。 餐盘的费用如下表所示: 你将会得到n 个字符…

Spark实战:词频统计

文章目录 一、Spark实战&#xff1a;词频统计&#xff08;一&#xff09;Scala版1、分步完成词频统计2、一步搞定词频统计 &#xff08;二&#xff09;Python版1、分步完成词频统计2、一步搞定词频统计 二、实战总结 一、Spark实战&#xff1a;词频统计 &#xff08;一&#x…

WebKit内核架构深度解析:核心技术与工作机制

WebKit是一种开源的网页浏览器引擎&#xff0c;广泛应用于苹果Safari、谷歌Chrome&#xff08;早期版本&#xff09;以及其他诸多第三方浏览器中。其卓越的性能和跨平台特性使之在全球范围内具有广泛的影响力。本文将对WebKit的核心结构进行详尽的介绍&#xff0c;以便于读者深…

顶顶通呼叫中心中间件-话术编辑器机器人转人工坐席配置(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-话术编辑器机器人转人工座席配置(mod_cti基于FreeSWITCH) 配置方法 一、ACD排队转接 二、伴随转接 比如你设置的通知规则是任意满足一个就通知那么通话时间设置为10 秒那样他只要通话时间到10秒他就会转坐席。 如果要转人工的时侯转手机可以这样配置 把…