gulp的基本用法
这几天简单的研究了一下gulp的用法,gulp对于初学者来说还是很友好的。
官方给出gulp的优点如下:
1.通过代码优于配置的策略,Gulp 让简单的任务简单,复杂的任务可管理。
2.Gulp 严格的插件指南确保插件如你期望的那样简洁高质得工作。
3.利用 Node.js 流的威力,你可以快速构建项目并减少频繁的 IO 操作。
4.通过最少的 API,掌握 Gulp 毫不费力,构建工作尽在掌握:如同一系列流管道。
gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,我们不仅可以很愉快的编写代码,(虽然在涉及到Sass问题都让我并不愉快)而且大大提高我们的工作效率。gulp是基于Nodejs的自动任务运行器, 她能自动化地完成 javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。在实现上,她借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,使得在操作上非常简单。
第一步:gulp的安装配置
1.安装node 确定是否安装了node (确认是否安装 node -v)
2.安装gulp npm install -g gulp,创建一个工作目录
3.npm init 初始化
4.npm install gulp —save-dev 添加到项目依赖
5.配置gulpfile.js var gulp = require('gulp');
第二步:创建任务
gulp.task(‘hello’,function(){ … });
第三步:连接多个任务
gulp.task(‘taskName’,[‘task1’,’task2’]);
Gulp基础知识点
gulp.src() 找到要处理的文件
通配符路径匹配示例:
“src/a.js”:指定具体文件
“*”:匹配所有文件
例:src/*.js(包含src下的所有js文件)
“**”:匹配0个或多个子文件夹
例:src/**/*.js(包含src的0个或多个子文件夹下的js文件)
“{}”:匹配多个属性
例:src/{a,b}.js(包含a.js和b.js文件)
src/*.{jpg,png,gif}(src下的所有jpg/png/gif文件)
“!”:排除文件
例:!src/a.js(不包含src下的a.js文件)
gulp.pipe()通过管道去处理文件(在管道里可以去指定功能)
gulp.dest()将处理好的文件放在指定的地方
gulp.watch() 用于监听文件变化,文件一修改就执行指定任务
插件使用
1、下载插件,添加到依赖项;
npm install 插件名 --save-dev
2、加载插件 gulp.require('插件名称');
编译sass:gulp-sass
.pipe(sass({ outputStyle: 'expanded' }))
创建本地服务:gulp-connect
gulp.task('server',function(){
connect.server({
root:'dist'
})
});
实时刷新:liveReload
gulp.task('watch',function(){
gulp.watch('index.html',['copy-html']);//一旦index.html变化,执行copy-html
gulp.watch('src/sass/*.scss',['sass']);
});
gulp.task('copy-html', function () {
gulp.src('index.html')
.pipe(gulp.dest('dist'))//扔到disk里
.pipe(connect.reload());//然后重新加载
});
gulp.task('server',function(){
connect.server({
root:'dist',
livereload:true//实时刷新
})
});
合并文件
gulp.task('concat',function(){
gulp.src('src/js/*.js').pipe(concat('index.js'))
.pipe(gulp.dest('dist/js'))
});
最小化:
最小化js:gulp-uglify
最小化css:gulp-minify-css
最小化图片:gulp-imagemin
重命名:
文件重命名gulp-rename
.pipe(rename('index.min.js'))
gulp的基本用法的更多相关文章
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- 前端打包构建工具gulp快速入门
因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...
- gulp如何使用
简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...
- Gulp如何编译sass
Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 1.搭建web服务器 2.文件保存时自动重载浏览器 3.使用预处理器如Sass.LESS 4.优化资源,比如压缩CSS.JavaScr ...
- 【前端】在Gulp中使用Babel
Install $ npm install --save-dev gulp-babel babel-preset-es2015 用法1: const gulp = require('gulp'); c ...
- gulp入门教程(详细注解)
本文转载自http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很 ...
- gulp详细入门教程-gulp demo download
简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成:使用她,我们不仅可以很愉快的编写代码 ...
- 是什么时候开始学习gulp了
转自:http://www.ydcss.com/archives/18 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优化,而且在开发过程中很多重 ...
- [转]gulp构建前端工程
摘要: Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭建web服务器 文件保存时自动重载浏览器 使用预处理器如Sass.LESS 优化资源,比如压缩CSS.JavaScript. ...
随机推荐
- 网页静态化技术Freemarker的详细介绍
网页静态化技术Freemarker 一.Freemarker的基本介绍 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道 ...
- Python一个命令开启http下载服务器(可以局域网内共享文件)
前提条件:windows系统上安装python 如果想把D:\asdm作为提供下载的目录, 打开cmd然后cd命令进入该目录:cd D:\asdm, 然后执行Python -m SimpleHTTPS ...
- Python 解LeetCode:680. Valid Palindrome II
题目:给定一个字符串,在最多删除一个字符的情况下,判断这个字符串是不是回文字符串. 思路:回文字符串,第一想到的就是使用两个指针,前后各一个,当遇到前后字符不一致的时候,有两种情况,删除前面字符或者删 ...
- C语言实现快速排序法(分治法)
title: 快速排序法(quick sort) tags: 分治法(divide and conquer method) grammar_cjkRuby: true --- 算法原理 分治法的基本思 ...
- mysql timeout
(待更新整理) 因为最近遇到一些超时的问题,正好就把所有的timeout参数都理一遍,首先数据库里查一下看有哪些超时: root@localhost : test 12:55:50> show ...
- 【Java进阶】---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...
- Python [习题] 字典扁平化
习题: 将以下字典扁平化,输出为 target 字典格式source = {'a': {'b': 1, 'c': 2}, 'd': {'e': 3, 'f': {'g': 4}}}target = { ...
- Java日志框架那些事儿
文章首发于[博客园-陈树义],点击跳转到原文Java日志框架那些事儿. 在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而 ...
- laravel查看执行sql的
加个监听就好了~~~~而且很简单 1.在routes.php(api.php\web.php)中添加如下语句 Event::listen('illuminate.query', function($s ...
- 在Github发布自己的compile包
Android入门到转行做服务员--在Github发布自己的compile包 2017-12-05 15:27:10 这是一粒代码发布的第一篇博客,一粒代码从事android开发,近期打算开始搞搞博客 ...