Gulp学习笔记(黑马教程)

一,Gulp的基础概念

它是基于node平台开发的前端构建工具。
它也是node.js的第三方框架,它的作用主要是将机械化的开发过程用命令行的方式去自动化完成。
可以实现的功能有:
项目上线时:HTML,CSS,js文件的压缩合并、语法转化(es6,less……)、公共文件抽离、修改文件浏览器自动刷新。

二,Gulp的下载和安装

1,使用npm install gulp来下载gulp文件。
2,在项目的根目录下建立gulpfile.js文件。(名字必须是这个)
3,重构一下项目的文件夹结构src目录放置源代码文件dist目录放置构建后文件。
4,在gulpfile.js文件中编写任务。
5,在命令行工具中执行gulp任务。

三,使用实例

在这里插入图片描述
在这里插入图片描述

//引入gulp模块
const gulp =require('gulp')
//使用gulp.task建立任务:第一个参数是任务的名称,第二个任务是任务的回调函数
gulp.task('firstTaskName',()=>{
	console.log("这个任务被执行的提示")
	//获取要处理的文件
	gulp.src('./src/css/base.css')
		.pipe(gulp.dest('./dist/css'))
		//处理完之后,把处理后的文件放到'./dist/css'文件夹内。(这里没有处理,相当于复制文件)
})

现在运行任务的代码写好了,我们想执行这个任务,可以用gulp-cli的命令行工具来执行这个任务。
那么,就需要先安装gulp-cli:
在这里插入图片描述

安装完成,现在可以使用这个命令行工具找到名字叫做,firstTaskName的任务了,回车之后就会执行:
在这里插入图片描述
执行后可以在dist目录下看到复制过来的css文件了。

这就是gulp的基本使用流程。
但值得注意的是,gulp本身属于轻内核第三方模块,只提供了上述几个方法,获取要处理的文件,将处理好的文件放置到指定的目录。
要完成诸如文件的压缩,合并等操作,还需要使用nrm命令下载插件进行操作。

四,Gulp常用插件

在这里插入图片描述

五,gulp插件的使用-html文件压缩

1,通过npm下载插件
2,引用这个插件
3,调用这个插件
npm官网:https://www.npmjs.com/
示例:html中代码的压缩操作
在这里插入图片描述
照着网上的文档,下载这个插件:
在这里插入图片描述
接下来引用这个插件,实际上,网站使用说明文档中,已经把示例写好了,复制过来就可以:
在这里插入图片描述
在这里插入图片描述
然后再去网站复制相关的操作:
在这里插入图片描述
写好了之后是这样子的:

//引入gulp模块
const gulp =require('gulp')
const htmlmin = require('gulp-htmlmin');
//使用gulp.task建立任务:第一个参数是任务的名称,第二个任务是任务的回调函数
gulp.task('firstTaskName',()=>{
	console.log("这个任务被执行的提示")
	//获取要处理的文件
	gulp.src('./src/css/base.css')
		.pipe(gulp.dest('./dist/css'))
		//处理完之后,把处理后的文件放到'./dist/css'文件夹内。(这里没有处理,相当于复制文件)
})

gulp.task('htmlminTask',()=>{
	console.log("这个任务被执行的提示")
	//获取要处理的文件*是通配符,指所有的后缀为.html的文件
	gulp.src('./src/*.html')
		.pipe(htmlmin({ collapseWhitespace: true }))
		//处理取到的文件,压缩空格:true
		.pipe(gulp.dest('./dist'))
		//处理完之后,输出到这个文件夹下
})

接下来要做的就是去命令行窗口执行这个任务了:
在这里插入图片描述
执行完成后查看完成区目录:
在这里插入图片描述
文件已经生成了,打开后可以发现已经被压缩过了。

六,gulp插件的使用-html文件压缩-公共文件包含

同样的,官网先搜索这个命令的文档。
在这里插入图片描述
先安装:
在这里插入图片描述
在gulpfile.js中引入这个插件:
在这里插入图片描述
在这里插入图片描述
然后复制编写任务内容:先抽取公共代码,然后再压缩html文件。
在开发过程中,写代码的时候,对于公共部分的html结构,我们可以单独编写(放在common文件夹下的header.html内),然后再在需要的地方引入:

在这里插入图片描述
于是gulpfile.js的任务这样写:

//引入gulp模块
const gulp =require('gulp')
const htmlmin = require('gulp-htmlmin');
const fileinclude = require('gulp-file-include');
//使用gulp.task建立任务:第一个参数是任务的名称,第二个任务是任务的回调函数
gulp.task('firstTaskName',()=>{
	console.log("这个任务被执行的提示")
	//获取要处理的文件
	gulp.src('./src/css/base.css')
		.pipe(gulp.dest('./dist/css'))
		//处理完之后,把处理后的文件放到'./dist/css'文件夹内。(这里没有处理,相当于复制文件)
})

gulp.task('htmlminTask',()=>{
	console.log("这个任务被执行的提示")
	//获取要处理的文件*是通配符,指所有的后缀为.html的文件
	gulp.src('./src/*.html')
		.pipe(fileinclude())//将取得的html文件中要回调公共html的部分补齐!
		.pipe(htmlmin({ collapseWhitespace: true }))
		//处理取到的文件,压缩空格:true
		.pipe(gulp.dest('./dist'))
		//处理完之后,输出到这个文件夹下
})

在这里插入图片描述
就又在有公共代码的部分引入了HTML文件。

七,css任务

1,less语法的转换
2,css代码的压缩
同样的,先安装插件,再引入,然后编写任务内容,最后执行任务

//css任务
gulp.task('cssmin',()=>{
	gulp.src('./src/css/*.less')
		.pipe(less())
		.pipe(gulp.dest('./dist'))
})

在这里插入图片描述
其他的任务也是这样。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值