Gulp前端自动化构建工具的应用

简介: 实际前端开发不再仅仅是静态页面的开发了,丰富的前端技术让前端的代码逻辑越来越复杂, 模块化开发和各类框架也增加了在生产环境中部署开发环境代码的难度,这种情况下,前端自动化构建在前端开发中尤为重要。 我们会遇到下面的问题: a. 每次修改了HTML、JS、CSS等文件,都需要手动刷新浏览器,能不能修改了让浏览器自动刷新呢 ? b. 在发布项目的时候,需要将前端资源进行合并、压缩,尽量减少http请求,手动去完成合并压缩不仅繁琐,还容易出错,有什么技术可以自动地执行这些操作,解放我们的双手呢?

Gulp前端自动化构建工具的应用



1. 引言:


实际前端开发不再仅仅是静态页面的开发了,丰富的前端技术让前端的代码逻辑越来越复杂,


模块化开发和各类框架也增加了在生产环境中部署开发环境代码的难度,这种情况下,前端自动化构建在前端开发中尤为重要。


我们会遇到下面的问题:


a. 每次修改了HTML、JS、CSS等文件,都需要手动刷新浏览器,能不能修改了让浏览器自动刷新呢 ?


b. 在发布项目的时候,需要将前端资源进行合并、压缩,尽量减少http请求,手动去完成合并压缩不仅繁琐,还容易出错,有什么技术可以自动地执行这些操作,解放我们的双手呢?


2. Gulp - 基于流的自动化构建工具


Gulp的出现完美解决了引言中的问题,再利用Node.js的威力,我们就可以快速构建项目。


Gulp的API很少,上手很快,简单介绍下:


a. gulp.src()


Input输入,文件的读取操作;从操作系统中读取一个或者多个文件,读取完的文件由 gulp 加载到内存中,等待继续的操作


b. gulp.dest()


output 输出,也即文件的写入操作


c. gulp.task(name,[,deps],fn)


第一个参数是要执行任务的名字,第二个参数是执行该任务需要依赖的任务,第三个参数定义了所要执行的操作


d. gulp.watch()


监视文件,文件发生改动时执行定义的操作


其中,还有一个 pipe() 可以理解成管道、下一步要执行的操作的意思。


如下图:执行一个"server"任务,监控src目录下的html文件,如果发生了变化,执行reload任务,reload任务是将 src 目录下的所有html文件复制到build目录下。


20180308194828291.png


3. gulp的插件:


gulp有很多高质量的插件,正是通过这些插件,才能完成各种任务,下面列了一些常见的插件。


gulp-concat:css文件合并


gulp-clean-css:css文件压缩


gulp-babel:JS ES6语法转ES5


gulp-uglify:JS 压缩


gulp-rename:文件改名


gulp-imagemin:图片压缩


browser-sync:浏览器同步测试工具


4. 关于gulpfile.js


在项目根目录下,我们需要新建一个命名为 gulpfile.js 的js文件,我们的任务都写在这里


 编写 gulpfile.js注意事项:


 路径的统一配置:方便日后根据实际项目的目录名进行更改。


20180308194846833.png


5. 代码部分


代码部分的思路就是将开发环境和生成环境完全分开:


开发环境:启动开发环境的服务器,修改了任何一个文件,服务器自动同步效果;


生产环境:部署开发环境的代码,并对资源文件合并、压缩。


5.1. 开发环境代码


20180308194902129.png


5..2 生产环境代码


2018030819491424.png


6. 使用方法


a. 安装node环境


b. 拷贝package.json、gulpfile.js 文件到自己项目的根目录,package.json里就是安装插件的依赖


命令行 npm install 安装所有依赖


c. 开发阶段,命令行执行 gulp dev,开启文件实时监控的任务,文件的更改后自动刷新浏览器页面


d. 生产环境,命令行执行 gulp product 执行CSS、JS、图片的合并压缩任务


7. 其他好用的插件


gulp还有一些其他好用的插件,可以根据实际情况自行配置哦


gulp-css-spriter:雪碧图自动合成


gulp-base64:转成base64的图片


gulp-rev:版本控制


gulp-notify:项目通知


......


8. 总结


前端自动化构建工具能让我们更高效的工作,所谓磨刀不误砍柴功嘛。Gulp还有很多实用高效的插件,需要我们在实践中探索,结合项目需求进行选择。

目录
相关文章
|
1月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
CogAgent-9B 是智谱AI基于 GLM-4V-9B 训练的专用Agent任务模型,支持高分辨率图像处理和双语交互,能够预测并执行GUI操作,广泛应用于自动化任务。
41 12
CogAgent-9B:智谱 AI 开源 GLM-PC 的基座模型,专注于预测和执行 GUI 操作,可应用于自动化交互任务
|
11天前
|
存储 缓存 运维
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。
|
1月前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
1月前
|
移动开发 缓存 前端开发
深入理解前端路由:原理、实现与应用
本书《深入理解前端路由:原理、实现与应用》全面解析了前端路由的核心概念、工作原理及其实现方法,结合实际案例探讨了其在现代Web应用中的广泛应用,适合前端开发者和相关技术人员阅读。
|
2月前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试框架在软件开发中的应用与挑战##
本文将深入探讨自动化测试框架在现代软件开发过程中的应用,分析其优势与面临的挑战。通过具体案例分析,揭示如何有效整合自动化测试以提升软件质量和开发效率。 ##
|
2月前
|
运维 监控 安全
自动化运维的利剑:Ansible在现代IT架构中的应用
在数字化浪潮中,企业对IT系统的敏捷性和可靠性要求日益提高。Ansible,一种简单但强大的自动化运维工具,正成为现代IT架构中不可或缺的一部分。它通过声明式编程语言YAM,简化了系统配置、应用部署和任务自动化的过程,显著提升了运维效率和准确性。本文将深入探讨Ansible的核心特性、应用场景以及如何有效整合进现有IT环境,为读者揭示其在自动化运维中的实用价值和未来发展潜力。
|
2月前
|
前端开发 项目管理
Gitflow分支策略及其在前端工程化中的应用
Gitflow 分支策略也并非适用于所有项目。对于一些小型或简单的前端项目,可能会显得过于复杂。在实际应用中,需要根据项目的具体情况和团队的需求进行适当调整和优化。
|
2月前
|
自然语言处理 前端开发 JavaScript
深入理解前端中的 “this” 指针:从基础概念到复杂应用
本文全面解析前端开发中“this”指针的运用,从基本概念入手,逐步探讨其在不同场景下的表现与应用技巧,帮助开发者深入理解并灵活掌握“this”的使用。

热门文章

最新文章