gulp的初阶使用方法(转)
安装好gulp之后接下来就是使用了,此文主要介绍一些前端开发时常用的一些插件及其用法
http://www.imooc.com/article/tag/26/hot/12
插件安装
安装本地服务器插件:cnpm install gulp-connect --save-dev
安装合并文件插件:cnpm install gulp-concat --save-dev
安装压缩js文件插件:cnpm install gulp-uglify --save-dev
安装重命名插件:cnpm install gulp-rename --save-dev
安装压缩css文件插件:cnpm install gulp-minify-css --save-dev
优化图像文件的尺寸,在不改变图像质量的情况下,最小化图像大小:
cnpm install gulp-imagemin --save-dev
插件引入
在gulpfile.js的顶部引入
var gulp = require('gulp');//将gulp插件包含进来
var sass = require('gulp-sass'); //包含sass转换为css插件
var less = require('gulp-less'); //包含less转换为css插件
var connect = require('gulp-connect'); //包含服务器插件
var concat = require('gulp-concat');//合并文件
var uglify = require('gulp-uglify');//压缩js
var rename = require('gulp-rename');//重命名文件
var minifyCSS = require('gulp-minify-css');//压缩css
var imagemin = require('gulp-imagemin');//优化图片
插件用法
1.复制文件到指定文件夹
//复制文件到指定文件夹
gulp.task('copy-index',function(){
return gulp.src('index.html')
.pipe(gulp.dest('dist'))
.pipe(connect.reload());
});
2.复制图片到指定文件夹
gulp.task('images',function(){
return gulp.src('images/*.jpg')
//.pipe(imagemin()) //未成功
.pipe(gulp.dest('dist/images'));
//images/**/* images目录下的所有子目录和所有东西(包含东西最多)
//images/*/* images目录下的东西和子目录下的东西
//images/*.{png,jpg} images目录下的所有以png和jpg为后缀名的图片
});
3.多个数据文件复制(后面的目录可以不存在,不存在的话会自动创建),在前面加叹号是排除这个(类)文件
gulp.task('data',function(){
return gulp.src(['xml/*.xml','json/*.json','!json/secre-*.json']).pipe(gulp.dest('dist/data'));
});
4.创建依赖任务
gulp.task('build',['copy-index','images','data'],function(){
console.log('编译成功!');
});
5.创建监听任务
gulp.task('watch',function(){
//当文件发生变化时,自动执行相应的任务
gulp.watch('index.html',['copy-index']);
gulp.watch('images/**/*.{jpg,png}',['images']);
gulp.watch(['xml/*.xml','json/*.json','!json/secre-*.json'],['data']);
});
6.将sass文件编译成css
gulp.task('sass',function(){
return gulp.src('stylesheets/**/*.scss')
.pipe(sass()) //上面定义的名字 var sass
.pipe(gulp.dest('dist/css'));
});
7.将less文件编译成css
gulp.task('less',function(){
return gulp.src('stylesheets/**/*.less')
.pipe(less()) //上面定义的名字 var sass
.pipe(minifyCSS()) //最小化css,去掉了注释和多余的空格
.pipe(gulp.dest('dist/css'));
});
8.设置默认任务
//退出任务监听:Ctrl + C 然后 Y
//默认任务 gulp
gulp.task('default',['server','watch']);
9.合并js、压缩js、重命名压缩后的js
gulp.task('scripts',function(){
return gulp.src(['javascripts/jquery.js','javascripts/index.js'])
.pipe(concat('vendor.js')) //合并js文件
.pipe(gulp.dest('dist/js'))
.pipe(uglify()) //最小化一下合并后的文件
.pipe(rename('vendor.min.js')) //重命名压缩后的js文件
.pipe(gulp.dest('dist/js'));
});
10.设置一个本地服务器
gulp.task('server',function(){
connect.server({
root:'dist', //服务器的根目录
livereload: true //启用实时刷新的功能
});
});
作者: 海岛心hey
链接:http://www.imooc.com/article/8979
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
gulp的初阶使用方法(转)的更多相关文章
- Nodejs初阶之express
PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:) 老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了 ...
- R语言实战(一)介绍、数据集与图形初阶
本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章 R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...
- 平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】
平衡树初阶——AVL平衡二叉查找树 一.什么是二叉树 1. 什么是树. 计算机科学里面的树本质是一个树状图.树首先是一个有向无环图,由根节点指向子结点.但是不严格的说,我们也研究无向树.所谓无向树就是 ...
- Gulp安装流程、使用方法及cmd常用命令导览
Gulp安装流程.使用方法及CMD常用命令导览 来自前端小白的gulp及周边知识学习总结 一.名词介绍: Npm--node包管理工具 一开始我不理解,包管理工具是什么鬼.后来用到的gulp也好,gu ...
- 重温ASP.NET WebAPI(一)初阶
重温ASP.NET WebAPI(一)初阶 前言 本文为个人对WebApi的回顾无参考价值.主要简单介绍WEB api和webapi项目的基本结构,并创建简单地webaapi项目实现CRUD操作. ...
- $ gulp watch 运行出错解决方法
$ gulp watch 运行出错解决方法 $ gulp watch 如果你出现了如下报错信息: gulp-notify: [Laravel Elixir] Browserify Fail ...
- 《R语言实战》读书笔记--第三章 图形初阶(一)
3.1使用图形 可以使用pdf等函数将图形直接保存在文件中.在运用attach和detach函数的使用中经常出现错误,比如命名重复的问题,所以,应该尽量避免使用这两个函数. plot是一般的画图函数, ...
- 获取react中高阶组件方法
什么是高阶组件? 高阶组件就是接受一个组件作为参数并返回一个新组件的函数.这里需要注意高阶组件是一个函数,并不是组件,这一点一定要注意.同时这里强调一点高阶组件本身并不是 React API.它只是一 ...
- Sublime Text 3初阶
本文主要介绍一些Sublime Text3的初级阶段,主要从最初的安装,到插件,还有主题这三个方面介绍,还会提到一些关于使用ST3的一些小小经验... 一:安装 首先进入sublime的官方地址去下载 ...
随机推荐
- Linux查看日志常用命令(转载)
转自: https://www.cnblogs.com/kbkiss/p/7567725.html -------------------------------------------------- ...
- addEventListener和JavaScript的事件机制
JavaScript的事件处理分为两个阶段: 捕获阶段:从根节点向event.target层层传递 冒泡阶段:从event.target向根节点层层传递 addEventListener(eventN ...
- 不了解MES系统中的看板管理?看完本文就懂了
如果想要在生产车间中,让生产过程管理都处在“看得见”的状态,那么看板可视化管理的导入是你的不二选择. MES看板包括四个部分:生产任务看板.各生产单位生产情况看板.质量看板和物料看板,其中生产任务看板 ...
- ssh关闭服务关闭 nohup
默认输出 # nohup cmd & 指定输出路径 # nohup cmd > mylog.out 2>&1 &
- Qt固定窗口大小
指定大小 this->setMaximumSize(250, 250); 默认大小 this->setMaximumSize(this->width(), this->heig ...
- Python Scrapy在windows上的安装方法
如果想要学习爬虫,肯定会了解Scrapy,但安装Scrapy的方法相对于安装其他第三方库麻烦一点. 下面总结一下在我的电脑上安装Scrapy的方法,我的电脑是Windows10,32位操作系统.有如下 ...
- js 过滤字符 和检测 特殊字符【转】
// var str1 = str.replace(/\[\\'\\"\\\\\\/\\b\\f\\n\\r\\t\]/g, '');// 去掉转义字符 // var str2= str.r ...
- Linux系统中ps -l命令显示的英文含义
UID:启动这些进程的用户.PID:进程的进程ID.PPID:父进程的进程号(如果该进程是由另一个进程启动的).C:进程生命周期中的CPU利用率.STIME:进程启动时的系统时间.TTY:进程启动时的 ...
- 004-OpenStack-计算服务
OpenStack-计算服务 [基于此文章的环境]点我快速打开文章 1.控制节点(controller) 1.1 创库授权 nova_api, nova, 和 nova_cell0 mysql CR ...
- csp 201409-3 字符串匹配
问题描述: 很简单,判断给定串是否在目标串中出现.分区分大小写和不区分大小写两种情况. csp特点: csp的第三题一般是字符串的处理,c++的string类虽然不好用,但是掌握的话在考试的时候可能能 ...