使用Gulp实现前端构建自动化
使用Gulp实现前端构建自动化
安装
一.安装NodeJs
Gulp的安装依赖于NodeJs的npm安装管理器
安装包下载地址
关于npm命令:
1. npm install <name>
会把插件安装到node_modules目录中
2. 参数 --save
会在package.json的dependencies属性下添加该插件
3. 参数 --save-dev:
会在package.json的devDependencies属性下添加添加该插件
4. 参数 -g
全局安装插件
4. npm install
会安装package.json下dependencies和 devDependencies声明的插件
5. 使用原则:
运行时需要用到的包使用--save,否则使用--save-dev。
二.安装Gulp
- 执行
npm init初始化package.json ————便于共同开发时安装插件 - 执行
npm install -save gulp
三.Gulp的使用
1.在项目根目录下创建一个gulpfile.js文件
2.在gulpfile.js文件下引入gulp
var gulp = require('gulp');
3.创建默认任务
//执行 gulp 会默认执行该任务
gulp.task('default', function() {
});
4.文件移动指令
//目标文件
gulp.task('movecss', function() {
gulp.src('*.css')//指定源文件
.pipe(
gulp.dest('minicss')//输出到指定的目录 若该目录不存在会自动创建
);
});
5.监听文件变化执行一些操作
//目标文件
gulp.task('watchjs', function() {
gulp.watch('main.js', function(event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
});
6.在一个task下引用其他task
//多个task
gulp.task('tasks', ['movecss','watchjs'], function() {
console.log('last task');
});
//会按顺序执行
gulp.task('default', ['movecss', 'watchjs']);
四.常用插件
1.压缩CSS---gulp-minify-css
安装:
npm install gulp-minify-css --save-dev
用法:
//引入gulp-minify-css
var cssminify = require('gulp-minify-css');
//压缩css 并移动到指定的文件夹
gulp.task('cssmin', function () {
gulp.src('*.css')
.pipe(cssminify())
.pipe(gulp.dest('minicss'));
});
2.压缩js---gulp-minify
安装:
npm install --save-dev gulp-minify
用法:
//压缩js
gulp.task('compress', function () {
gulp.src('*.js')
.pipe(minify({
ext:{
src:'-debug.js',//源文件的扩展名
min:'-min.js' //压缩过的文件的扩展名
},
exclude: ['folder'], //排除的目录
ignoreFiles: ['gulpfile.js'] //不压缩的文件
}))
.pipe(gulp.dest('minijs'))
});
3.gulp-clean
安装:
npm install --save-dev gulp-clean
用法:
//清除文件
gulp.task('clean-mini-js', function () {
return gulp.src('minijs', {read: false})
.pipe(clean());
});
其他常用插件
- gulp-manifest
- run-sequence
- gulp-exec
- gulp-css-urls
- gulp-minify-css
- gulp-htmlmin
- gulp-imagemin
- gulp-uglify
- gulp-concat
- gulp-rename
Github--本文代码
参考链接:
使用Gulp实现前端构建自动化的更多相关文章
- Gulp常用前端流程自动化配置
前言 近期的项目全部由Grunt + LESS 转向改用Gulp + SASS 进行前端开发,也就奔着Gulp那比较好用的自定义函数而来的. 一.package.json文件配置如下: { " ...
- node和gulp实现前端工程自动化(附:gulp常用插件)
/** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...
- 前端构建大法 Gulp 系列 (四):gulp实战
前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家 前 ...
- 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp专家
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- 前端构建大法 Gulp 系列 (二):为什么选择gulp
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- 前端构建大法 Gulp 系列 (一):为什么需要前端构建
系列目录 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gul ...
- 前端构建大法 Gulp 系列
参考: 前端构建大法 Gulp 系列 (一):为什么需要前端构建 前端构建大法 Gulp 系列 (二):为什么选择gulp 前端构建大法 Gulp 系列 (三):gulp的4个API 让你成为gulp ...
- 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四)
通过前面几节的准备工作,对于 npm / node / gulp 应该已经有了基本的认识,本节主要介绍如何构建一个基本的前端自动化开发环境. 下面将逐步构建一个可以自动编译 sass 文件.压缩 ja ...
- 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍
前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...
随机推荐
- KafKa介绍(分布式架构)
介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以to ...
- 【JAVAWEB学习笔记】19_事务
事务 学习目标 案例-完成转账 一.事务概述 1.什么是事务 一件事情有n个组成单元 要不这n个组成单元同时成功 要不n个单元就同时失败 就是将n个组成单元放到一个事务中 2.mysql的事务 默认的 ...
- Python爬虫学习之获取网页源码
偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...
- shell群发邮件脚本
linux版本:CentOS 6.7 //可以使用lsb_release -a查看 一.修改/etc/mail.rc set from=123456@qq.com //你自己的真实邮箱 ...
- wiringPi安装
wiringPi安装 更新软件,输入以下指令: sudo apt-get update sudo apt-get upgrade 通过GIT获得wiringPi的源代码 git c ...
- Flume简介及安装
Hadoop业务的大致开发流程以及Flume在业务中的地位: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步,从而引出我们本文的 ...
- 初码-Azure系列-如何在控制面板中选择中文版操作系统
之前在文章<初码-Azure系列-记一次从阿里云到Azure的迁移和部署>中说到,默认的Windows Server 2016操作系统是英文版,后来摸索出中文版的方法,如下:
- 一天搞定CSS:层级(z-index)--18
因为定位的出现,所以有了元素重叠的情况,此时就出现了显示谁的情况.在多层布局时,容易出现这种情况 定位position见:http://blog.csdn.net/baidu_37107022/art ...
- JavaSE教程-02Java基本语法
1.注释 什么是注释 用于解释说明程序作用的文字 Java中注释分类格式 单行注释 格式: //注释文字 多行注释 格式: /* 注释文字 */ 文档注释 格式:/* 注释文字 / 2.关键字 什么是 ...
- javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...