一.gulp的基本使用

gulp是目前最流行的前端自动化构建系统,核心特点高效易用。(这块不过多的废话了,直接上干货了,有兴趣的话,可以查下gulp简介)

步骤如下:

yarn init -y

yarn add gulp --dev //安装开发依赖

根目录创建gulofile.js文件(gulp的入口运行文件)

二.创建组合任务

除了创建普通任务,gulp提供了一些创建组合任务的api,比如series,parallel

三.异步的三种形式

四.gulp压缩代码构建过程的核心工作原理

通过底层node的api实现过程.读取-转换-写入

五.gulp文件操作API+插件的使用

专门创建读取流和写入流的api,相比于底层node的api更加强大,也更加实用

yarn add gulp-clean-css --dev 安装压缩文件的转化流

yarn add gulp-rename --dev也可以重命名拓展名

六.gulp案例

本案例想通过gulp转换sass,es6,html,image,fonts等转化为压缩编译后生产的制定格式。

首先安装gulp依赖,yarn add gulp --dev

1.样式编译

yarn add gulp-sass --dev

2.脚本编译

yarn add gulp-babel --dev

yarn add @babel/core @babel/preset-env --dev

3.模板引擎编译

这里使用的模板引擎叫做swig,编译成html

yarn add gulp-swig --dev

但是从上面挨个编译的话 不方便,创建组合任务,同时运行,使用parellel同时运行三个互不干扰的任务

4.gulp案例-图片和字体文件转换

yarn add gulp-imagemin --dev //压缩图片,字体文件

5.gulp案例-其他文件及文件清除

对于其它的文件 可以再定义个变量 这样编译过程不容易混淆 (个人感觉)

每次重新编译之前,安装清除del的插件进行删除操作。

yarn add del --dev  这个插件不是gulp的插件 所以单独导入。

6.gulp案例-自动加载插件

如果说引用gulp的插件太多,挨个require的话不利于后期回顾代码,所以建议采用自动加载的方式加载插件

yarn add gulp-load-plugins --dev

用法为const loadPlugins=require('gulp-load-plugins')  const Plugins=loadPlugins()

例如:require('gulp-sass') 下面的引用为Plugins.sass

如果为require('gulp-sass-xx') 下面的引用为Plugins.sassXx(采用驼峰命名法)

7.gulp案例-开发服务器

yarn add broswer-sync --dev

8.gulp案例 监听源代码变化以及构建优化

借助gulp里面watch api,通过监听源代码的变化,自动编译到dist目录

9.gulp案例 useref文件引用处理

对于dist生成的html文件中遇到引用本地路径的情况,比如引用node_modules路径下的css文件,这时候生产上肯定是不能用的,

我们可以通过一个gulp的方法,如下图所示红框中的构建注释,意思是通过gulp插件找到文件位置打包到一个文件中。

yarn add gulp-useref --dev

10.gulp案例-文件压缩

yarn add gulp-htmlmin gulp-uglify gulp-clean-css --dev

由于是三种类型的压缩插件(html,css,js)要加下gulp-if的插件要安装依赖

yarn add gulp-if --dev

完整的gulpfile.js的注释文件及package.json文件代码如下:

浅谈自动化构建之gulp的更多相关文章

  1. 浅谈自动化构建之grunt

    自动化构建 开发行业的自动化构建 一句话把源代码转化为生产代码,作用是脱离运行环境兼容带来的问题开发阶段使用提高效率的语法,规范 和标准,构建转换那些不被支持的特性转化成能够执行的代码. 一.简单的自 ...

  2. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  3. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  4. 前端自动化构建工具 Gulp 使用

    一个月没写博客了,今天有时间,就写个gulp的入门使用吧.. 简介:gulp是一个前端自动化构建工具,可以实现代码的检查.压缩.合并……等等,gulp是基于Node.js的自动任务运行器 一.安装No ...

  5. 前端自动化构建工具--Gulp&&Webpack

    前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...

  6. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  7. 前端自动化构建工具-gulp

    gulp 和grunt这两个是我知道的自动构建工具,但是说实话都没在项目中用过,不太清楚自动化构建是什么意思, 1.grunt和gulp有什么相同点和不同点? (1).易于使用:采用代码优于配置策略, ...

  8. 前端自动化构建之gulp

    前言 之前学完html的基础后就去学js框架了,每次都是用脚手架搭好的文件,在无形中体验了一波前端自动化带来的方便.然后前一段时间才开始学习前端自动化. 基本介绍 gulp说得简单一点就是一个自动化把 ...

  9. 基于流的自动化构建工具------gulp (简单配置)

    项目上线也有一阵子,回头过来看了看从最初的项目配置到开发的过程,总有些感慨,疲软期,正好花点时间,看看最初的配置情况 随着前端的发展,前端工程化慢慢成为业内的主流方式,项目开发的各种构建工具,也出现了 ...

随机推荐

  1. 【Unity游戏开发】SpriteAtlas与AssetBundle最佳食用方案

    一.简介 在Unity步入2019.4以后,新版的SpriteAtlas日趋完善,已经完全可以在商业项目中使用了.但是纵观网络平台上,许多关于SpriteAtlas的文章还停留在2018的初版时期,其 ...

  2. windows下plsql连接linux下的oracle数据库

    windows下plsql连接linux下的oracle数据库 经过多方查找,终于找到解决办法,特此记录下来,共享之. PL/SQL Develorper:目前未发现可以在Linux系统中安装的版本. ...

  3. React Native Android 环境搭建

    因为工作需要,最近正在学习React Native Android.温故而知新,把学习的内容记录下来巩固一下知识,也给有需要的人一些帮助. 需要说明的是,我刚接触React Native也不久,对它的 ...

  4. JAVA递归算法及经典递归例子 对于这个汉诺塔问题

    前言:递归(recursion):递归满足2个条件 1)有反复执行的过程(调用自身) 2)有跳出反复执行过程的条件(递归出口) 第一题:汉诺塔 对于这个汉诺塔问题,在写递归时,我们只需要确定两个条件: ...

  5. 高性能、低成本的高防 IP 产品能现实吗?

    DDoS 攻击是网络攻击最常用的方式之一,也是企业发展道路上的阻碍.作为业务发展的巨大隐形"地雷",企业想要自建 DDoS 防御的技术门槛很高,且建设周期不可控.这给予了安全厂商海 ...

  6. [LeetCode]92. Reverse Linked List II反转部分链表

    /* 重点还是反转链表 思路就是中间的反转,然后两头接上 */ public ListNode reverseBetween(ListNode head, int m, int n) { if (he ...

  7. ESP8288-01S/ESP8288-01使用经验总结

    如图:ESP8288-01S/ESP8288-01的区别 超链接 ESP8288-01S/ESP8288-01是乐鑫公司推出的Wi-Fi模块,因为价格便宜迅速占领了市场,它可以做AT指令开发,也可以做 ...

  8. JDBC UPDATE误区

    1 package com.lykion; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import ...

  9. ta-lib安装问题

    不管是windows还是linux,直接使用pip install ta-lib都会出现各种各样的问题,如下图: 解决办法,从网上找了很多办法都不好用,最后发现直接从晚上down .whl的文件,然后 ...

  10. Spring Cloud是什么鬼?

    研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud.在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统 ...