首页 > 其他分享 >Gulp教程之:Gulp能做什么,前端装逼为何要用它

Gulp教程之:Gulp能做什么,前端装逼为何要用它

时间:2022-10-18 10:00:38浏览次数:94  
标签:文件 教程 浏览器 JavaScript Gulp 装逼 构建 我们 CSS


我们先说说 平时web开发遇到的一些场景 和 苦恼无奈的情况:



JavaScript和CSS的版本问题

我们都知道 JavaScript和CSS属于静态文件,如果地址不变,浏览器会缓存这些文件,那就意味着当我们需要改JavaScript或者CSS文件的时候,即使我们后端改了,那么客户端也是看不到,这个在“JS一统天下”的时代是不可接受的,因为现在几乎所有的WEB 程序都严重依赖JavaScript,而所有的网站都是需要使用CSS的。在我经历过的项目即使是很多年经验的程序员都出现过JavaScript和CSS文件的版本问题,比如客户让修复一个Bug,这个Bug是JavaScript引起的,程序员修复了,或者是客户说改一个背景颜色,可是当我们给客户部署后或者代码交给客户客户部署时,客户说Bug依然存在,这个时候程序员经常说的话就会出现了 “我本地是好的呀”,最后再找来别人帮忙后,发现原来是没有清除浏览器的缓存,于是有的程序员就赶紧给客户说:“你需要Ctrl+F5 清除浏览器的缓存”。 每当我听到这样的话时就像关上灯留给我一屋子黑,首先,有几个普通用户会使用Ctrl+F5? 其次,有几个用户愿意去Ctrl+F5?

那么怎么办?我想很多程序员都知道加一个版本号就可以了,这样浏览器就会认为是新的文件,比如原来是 ​​http://www.a.com/app.js​​ 你现在只需要把地址改为http://www.a.com/app.js?v=1.0 即可

但是如果这个动作是手动的,那么10次基本上至少有5次程序员会忘掉,那么这就是为什么我们需要前端构建

JavaScript和CSS的依赖问题

我们经常出现的另一个问题,就是JavaScript和CSS的依赖问题,说的通俗点就是JavaScript和CSS的在页面中的顺序问题!

我们经常发现CSS没起作用,JavaScript的某个变量和方法找不到,有很多情况都是因为引入JavaScript或者CSS的顺序不对,虽然我们可以使用一些RequireJS之类的模块管理,但是依然在很多情况下需要引入不同的文件,尤其是CSS没有一个好的模块化管理的组件。

那么我们就需要有一个统一的地方来管理JavaScript和CSS的顺序问题,而构建工具可以大大减少此类问题。

性能优化

我们都知道浏览器请求的文件越多越耗时,请求的文件越大越耗时,尤其是在我们现在很多使用前端MVC, MVVM框架的时候,我们为了前端代码更清晰,结构更合理,我们就由很多JS文件,无疑又拖慢了网页的速度。为了解决这个问题,因此我们需要做两件事

文件合并

浏览器需要下载多个JS文件,而浏览器是有并发限制,也就是同时并发只能下载几个文件,假如浏览器并发数是5,你有20个JS文件,而每5个需要2S, 那么你光下载JS文件都需要8S,那么网页的性能可想而知,所以我们需要合并多个文件以减少文件的数量。

文件压缩

我们知道文件越大,下载越慢,而针对JavaScript和CSS, 里面的空格,换行这些都是为了让我们读代码时更容易阅读,但是对机器来说,这些对它没有影响,所以为了减少文件大小,一般的情况我们都会用工具去掉空格和换行,有时候我们还会用比较短的变量名(记住这个要让工具最后压缩时做,而源代码一定要保证命名可读性) 来减少文件大小。

而所有的前端构建工具都具有文件合并和压缩的功能。

效率提升

Vendor前缀

在CSS3使用越来越多的时候,我们都知道一些CSS的特性,不同的浏览器CSS有不同的前缀,如果我们手工添加将会很繁琐,而如果使用构建工具,很多构建工具可以自动给我添加CSS的Vendor前缀

单元测试

JavaScript的单元测试在使用MVC或者MVVM的框架后,变得越来越容易,而单元测试是质量保证的一个很重要的手段,所以在提交之前,使用构建工具自动跑一遍我们的单元测试是非常重要的

代码分析

我们写的JavaScript很多时候会有一些潜在的bug, 比如忘了添加分号,某个变量没有等等,使用一些JavaScript的代码分析工具,可以很好的帮我们检查一些常见的问题。

HTML引用JavaScript或者CSS文件

比如我们需要使用Bower之类来引用前端JavaScript和CSS的第三方库,那么如果版本升级,添加移除等都用手工来修改HTML的话,第一比较耗时,第二比较容易疏漏,尤其是在我们需要切换Debug和production版本时将会有很多额外的工作,那么使用前端构建工具可以很好的解决这些问题。

下篇更新 Gulp 的安装 和使用

简介:

gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。



标签:文件,教程,浏览器,JavaScript,Gulp,装逼,构建,我们,CSS
From: https://blog.51cto.com/u_15809398/5765296

相关文章

  • Entity Framework教程-数据注解 和 FlentAPI(Data Annotations)
    更新记录转载请注明出处:2022年10月18日发布。2022年10月10日从笔记迁移到博客。实体配置两种实体配置方式对比DataAnnotation:把配置以特性(Annotation)的形式标......
  • Ubuntu快速换源教程
    目的:为了解决上网查资料过慢问题。可以通过换源来提高速度。(1)备份系统源cd/etc/aptsudomvsources.listsources.list.bak(2)开始修改sources文件有安装vim用户:......
  • 用声网 Android UIKit 为实时视频通话应用添加自定义背景丨声网 SDK 教程
     使用声网SDK和UIKit创建视频推流应用非常简单,而且声网还有许多功能,可以提高视频通话的质量和便利性。例如,我们可以在视频通话过程中使用虚拟背景,为视频通话增添趣......
  • PowerDesigner 16.5软件安装包下载及安装教程
    PowerDesigner16.5软件简介:PowerDesigner16.5是一款功能强大的数据库建模软件,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供......
  • Linux8安装基础教程(Redhat Linux 8)
    一、概述:  Linux一般常用的有CentosLinux,OracleLinux和RedhatLinux,其使用和安装方法都类似,下面就以RedhatLinux8.1安装过程,进行分享一下。二、安装过程第1步:从D......
  • Linux7安装基础教程(Oracle Linux 7)
    开启虚拟机,安装Linux系统第一步,点击【开启此虚拟机】按钮,进入如下画面。第二步,等待安装好后(大概一两分钟),出现选择语言界面,选择英文即可,点击【continue】。第三步,设置第一项......
  • PyCharm下载和安装教程(包含配置Python解释器)
    PyCharm是JetBrains公司(www.jetbrains.com)研发,用于开发 Python 的IDE开发工具。图1所示为JetBrains公司开发的多款开发工具,其中很多工具都好评如潮,这些工具可以......
  • MySQL安装教程
    一、准备MySQL官网下载解压安装包二、配置环境变量依次打开此电脑->属性->高级系统设置->环境变量在系统变量path中添加自己的mysql\bin路径我的路径:D:\Mysql\mys......
  • 小破站最好的Nginx保姆级入门教程,全面掌握Nginx核心技术!
    尚硅谷2022版Nginx教程 https://www.bilibili.com/video/BV1Y341137Kq/?spm_id_from=333.337.search-card.all.click&vd_source=4a69745b599dffec877b0fcfe130b092https......
  • Linux6安装基础教程(Oracle Linux 6)
    安装OracleLinux6教程1.选择安装2.检查镜像,此处可选择Skip跳过3.选择安装语言4.布局键盘5.介质安装6.是否格式化,此处选择yes7.设置主机名8.配置静态IP地址9.选择时区,默认选......