一.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. 本地TOMCAT启动打包项目(WAR)

    首先打个包,右击项目-->Export...   选择WEB-->WAR file-->Next   选个放置地址,勾选红框处-->finish   找到自己的tomcat目录 ...

  2. js实现页面消息滚动效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 详解CSS布局

    CSS页面布局允许我们拾取网页中的元素,并且控制它们相对正常布局流.周边元素.父容器或者主视口/窗口的位置.主要对文档流的改变进行布局.假设你已经掌握了CSS的选择器.属性和值,并且可能对布局有一定了 ...

  4. 详细介绍如何自研一款"博客搬家"功能

    前言 现在的技术博客(社区)越来越多,比如:imooc.spring4All.csdn.cnblogs或者iteye等,有很多朋友可能在这些网站上都发表过博文,当有一天我们想自己搞一个博客网站时就会发 ...

  5. 聊聊风口上的 eBPF

    eBPF 是一个用于访问 Linux 内核服务和硬件的新技术,由于其灵活性和高性能等特点,被迅速用于网络.出错.跟踪以及防火墙等多场景.目前国内已有少数企业开始尝试将 eBPF 引入生产实践,又拍云也 ...

  6. String被final修饰

    源码:

  7. linux根文件系统 /etc/resolv.conf 文件详解

    Linux根文件系统/etc/resolv.conf文件,它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序.该文件是由域名解析器(resolver,以恶 ...

  8. Logstash学习之路(五)使用Logstash抽取mysql数据到kakfa

    一.Logstash对接kafka测通 说明: 由于我这里kafka是伪分布式,且kafka在伪分布式下,已经集成了zookeeper. 1.先将zk启动,如果是在伪分布式下,kafka已经集成了zk ...

  9. 容器编排系统K8s之节点污点和pod容忍度

    前文我们了解了k8s上的kube-scheduler的工作方式,以及pod调度策略的定义:回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14243312.ht ...

  10. maven 无法导入ojdbc 的jar包 解决方法

    由于maven无法在线安装ojdbc包,所有先在我们需要手动导入. 准备环境: 1.系统需要配置好jdk以及maven环境. 2.ojdbc的jar包,记住jar的路径,我的路径是:E:\jdbc\o ...