AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(八)

16.什么是webpack?

压缩:把代码文件的体积缩小

整合:把多个CSS文件、JS文件整合成一个,减少用户浏览器的http请求次数,从而让用户更快访问我们的网页

转译:less、sass转换成css,高版本js降级处理等

时间过程中出现报错,可能是路径问题

如:

检查发现是终端执行位置导致问题,应在src所在文件夹执行

也可以配置合适的webpackage.config.js

const path = require('path');
//配置文件就是一个js文件,通过Node中的模块操作,向外暴露一个配置对象。
module.exports = {entry: path.join(__dirname, './index.js'),//入口,要使用webpack打包那个文件。output: {//输出文件的配置path: path.join(__dirname, './dist'),//指定到那个目录中去filename: "bundle.js"//指定输出文件的名称}
}

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

默认的入口文件:src/index.js

默认的出口文件:dist/main.js

概念 | webpack 中文文档 (docschina.org)

配置文件的代码在node环境中执行,为了保证在任何地方执行都能找到文件,使用绝对路径。

path.resolve和path.join

5.2.0版本的webpack可以清空输出目录后打包生成

18.用户登录 - 长度判断

19.自动生成 html 文件

关于插件:

HtmlWebpackPlugin | webpack 中文文档 (docschina.org)

template

filename

下包(找包)

配置包

如果是写相对路径,会以出口目录作为起点

打包

生成的html文件中js文件引入路径书写

插件源代码会根据filename的路径分析,

去匹配出口路径(output.path), 这个出口目前来看是指js文件的出口

匹配到后,在该基础(../)拼接output.filename

如果filename路径中不包含出口路径?

一直向上层级匹配检索

建议:打包输出内容(filename)都在出口文件夹下面

可正常运行

20.打包 css 代码

css-loader | webpack 中文文档 (docschina.org)

style-loader | webpack 中文文档 (docschina.org)

加载器从右到左依次使用,所以先是css,后style,顺序不能颠倒

为什么不用变量和from去接收?

—— 引入,webpack就会处理,下面不需要使用,可以省略

下载css-loader和style-loader

配置webpack.config.js

打包后的html文件并没有引入css文件

css代码被打包到出口文件index.html

(代码经过压缩,是给浏览器运行,不是给程序员阅读)

运行后,样式生效

下载bootstrap

引入bootstrap

表单等样式生效

21.优化-提取 css 代码

将原本嵌入在js文件中的css代码提取出来作为独立的一个文件

单独的css文件可以让浏览器缓存起来,减少js文件体积,让浏览器下载更快,

浏览器可以并行下载css和js,让网页更快显示在用户眼前。

该插件在css-loader文档中有关联

MiniCssExtractPlugin | webpack 中文文档 (docschina.org)

也可以在百度进行相关搜索(使用新版webpack,对答案发布时间进行控制),确认插件的名字

打包进了main.css

上面的是bootstrap的css代码

下面是index.css代码

我们在webpack的入口文件引入的相关css代码被单独提取到一个css文件中

并且在html文件中被引入

生效

22.优化-压缩过程

bootstrap的css代码本就被压缩过,而手写的css代码提取后没有经过压缩

CssMinimizerWebpackPlugin | webpack 中文文档 (docschina.org)

下包->配置包->打包后,看到新包中的手写css代码被压缩

js代码不受影响,保持压缩

样式生效

23.打包 less 代码

使用miniCssExtractPlugin.loader代替style.loader

24.打包图片

目的:减少http请求次数

准备一张大图,一张小图

不能直接给img的src属性赋值路径,webpack会当成普通字符串,原封不动打包

注意:js 中引入本地图片资源要用 import 方式(如果是网络图片http地址,字符串可以直接写)

打包后,大图发送一个文件,小图导出data URI(base64字符串)

25.用户登录 - 完成功能

request.js导出(默认导出)

alert.js导出(命名导出)

将其他js代码导入到index.js

打包后的js代码:

检验:

登陆成功

错误验证码

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

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

相关文章

Tomcat启动后无法访问主页

1、确认JDK和Tomcat环境变量配置没有问题后&#xff0c;startup启动Tomcat 2、输入localhost:8080显示无法访问 3、找到Tomcat安装目录下的conf目录 4、修改下面两个地方&#xff0c;将port改成8081 <Connector port"8081" protocol"HTTP/1.1"connect…

vue3 实现简单计数器示例——一个html文件展示vue3的效果

目的&#xff1a;作为一个新手开发&#xff0c;我想使用 Vue 3 将代码封装在 HTML 文件中时&#xff0c;进行界面打开展示。 一、vue计数示例 学了一个简单计数器界面展示&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head&…

PXE和kickstart无人值守安装

PXE高效批量网络装机 引言 1.系统装机的引导方式 启动 操作 系统 1.硬盘 2.光驱&#xff08;u盘&#xff09; 3.网络启动 pxe 重装系统&#xff1f; 在已有操作系统 新到货了一台服务器&#xff0c; 装操作系统 系统镜像 u盘 光盘 pe&#xff1a; 小型的 操作系统 在操…

rust跟我学七:获取外网IP地址

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎么获取到本机的外网IP地址。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[…

渗透测试(13)- 费解的三次握手和四次挥手

上一篇文章通过wireshark抓包工具简单了解了TCP/IP协议的五层工作模型&#xff0c;其中传输层我们已经知道主要是用来增加端口信息的。传输层主要有两种协议&#xff0c;一种是面向连接的TCP协议&#xff0c;一种是无连接的UDP协议&#xff0c;无连接的UDP协议比较好理解&#…

QT上位机开发(MySql访问)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 网上介绍的关于QT和mysql部分的内容&#xff0c;都是利用Qt自带的mysql库来实现数据读写的。但是事实上来说&#xff0c;即使不用qt带的库&#xf…

利用 ChatGPT 高效搜索:举一反三的思考方式,高效查找解决方案

文章目录 基础思路举一反三Go 语言 Web 框架延伸思考思考结论 本文只是我的一些尝试&#xff0c;基于 ChatGPT 实现系统化快速搜索某编程语言的特定领域相关包或者基于其他语言类推荐落地方案的尝试。 这篇文章中描述的方式不一定是好方式&#xff0c;但应该会有一定的启示作用…

深入剖析 Git 对象底层原理

一、引言 在我们日常使用 Git 时&#xff0c;通常的操作是&#xff1a; 在写完一段代码后&#xff0c;执行 git add命令&#xff0c;将这段代码添加到暂存区中然后再执行 git commit和 git push 命令&#xff0c;将 本地 Git 版本库中的提交同步到服务器中的版本库中 Git 在…

Three.js 学习笔记之模型(学习中1.17更新)

文章目录 模型 几何体 材质模型点模型Points - 用于显示点线模型Line | LineLoop | LineSegments网格模型mesh - 三角形 几何体BufferGeometry缓冲类型几何体BufferGeometry - 没有任何形状的空几何体创建几何体的方式BufferAttribute Types定义顶点法线 geometry.attributes…

Maven工程 — 继承与聚合 相关知识点详解

简介&#xff1a;这篇帖子主要讲解Maven工程中的继承与聚合的相关知识点&#xff0c;用简洁的语言和小编自己的理解&#xff0c;深入浅出的说明Maven工程的继承与聚合。 目录 1、继承 1.1 继承关系的实现 1.2 版本锁定 2、聚合 2.1 聚合方法 3、总结 1、继承 图 1-1 继承…

2018年认证杯SPSSPRO杯数学建模C题(第一阶段)机械零件加工过程中的位置识别全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于轮廓特征的机械零件位置识别研究 C题 机械零件加工过程中的位置识别 原题再现&#xff1a; 在工业制造自动生产线中&#xff0c;在装夹、包装等工序中需要根据图像处理利用计算机自动智能识别零件位置&#xff0c;并由机械手将零件自动搬…

[go语言]输入输出

目录 知识结构 输入 1.Scan ​编辑 2.Scanf 3.Scanln 4.os.Stdin --标准输入&#xff0c;从键盘输入 输出 1.Print 2.Printf 3.Println 知识结构 输入 为了展示集中输入的区别&#xff0c;将直接进行代码演示。 三者区别的结论&#xff1a;Scanf格式化输入&#x…

ElasticSearch(1):Elastic Stack简介

1 简介 ELK是一个免费开源的日志分析架构技术栈总称&#xff0c;官网https://www.elastic.co/cn。包含三大基础组件&#xff0c;分别是Elasticsearch、Logstash、Kibana。但实际上ELK不仅仅适用于日志分析&#xff0c;它还可以支持其它任何数据搜索、分析和收集的场景&#xf…

MySQL中根据出生日期计算年龄

创建student表 mysql> create table student( -> sid int primary key comment 学生号, -> sname varchar(20) comm…

Android Studio由于开启代理无法下载依赖,一直在Build model

一、问题描述 正常打开AS项目&#xff0c;一直显示Build model就是不下载依赖 二、问题解决 1、首先选择No Proxy&#xff0c;可以看到这位同学之前是使用的代理。 2、打开下面文件&#xff0c;然后删除某尾的4行。 3、面对提示框&#xff0c;直接点击OK。 4、然后停…

IIS 缓存, 更新后前端资源不能更新问题

解决办法: 通常只需要index.html 不缓存即可, 其他文件都是根据index.html 中的引用去加载; 正确的做法是在 站点下增加 web.config 文件, 内容如下: 我这个是因为目录下有个config.js 配置文件, 也不能缓存, 所以加了两个 <?xml version"1.0" encoding&quo…

基于Python flask的猫眼电影票房数据分析可视化系统,可以定制可视化

技术方案 猫眼电影票房数据分析可视化系统是基于Python Flask框架开发的一款用于分析和展示猫眼电影票房数据的Web应用程序。该系统利用Flask提供了一个简单而强大的后端框架&#xff0c;结合Request库进行网络爬虫获取猫眼电影票房数据&#xff0c;并使用Pyecharts进行可视化…

消息中间件面试题

目录 一.为什么使用消息队列 二.RabbitMQ 1.RabbitMQ如何保证消息不丢失 2.RabbitMQ消息的重复消费问题 3.RabbitMQ延迟队列 4.RabbitMQ消息堆积 5.RabbitMQ高可用机制 三.Kafka 1.Kafka如何保证消息不丢失 2.Kafka如何保证消费消息的顺序性 3.Kafka高可用机制 4.Ka…

黑马程序员——javase基础——day05——面向对象基础

目录&#xff1a; 面向对象 面向对象介绍为什么要用面向对象编程面向对象.重点学习什么?类和对象 什么是类什么是对象对象的属性和行为类的定义对象的使用学生类的定义和使用对象内存图 Java内存分配单个对象多个对象思考&#xff1a;多个引用指向相同成员变量和局部变量的区…

未来能源转型之路:2023年第十三届中国国际储能大会启示录

在2023年第十三届中国国际储能大会上&#xff0c;全球各地的能源专家、学者和企业代表齐聚一堂&#xff0c;共同探讨了储能技术在推动能源转型中的重要作用。对于我们普通人来说&#xff0c;从这场大会中可以学到什么呢&#xff1f; 一、储能技术是未来能源发展的关键 随着可再…