gulp基础使用总结
gulp 安装
1 检测电脑有没有安装node
执行
$ node -v
$ npm -v
如果没有安装的话,可以到https://nodejs.org/en/download/下载安装。
2 全局安装gulp
$ npm install --global gulp
3 给对应的项目安装gulp
执行
$ npm install gulp --save-dev
4 初始化项目目录
执行 $ npm init 生成 package.json
在对应的根目录下创建 gulpfile.js
文件中的基本内容为:
var gulp = require('gulp');
gulp.task('default', function() {
// place code for your default task here
});
运行gulp
$ gulp
安装对应的 package
下面都以less的自动编译功能需求为例子
这里介绍需要的package
gulp-less
gulp的less插件
安装方法:
$ npm install gulp-less
简单使用举例:
var less = require('gulp-less');
var path = require('path');
gulp.task('less', function () {
return gulp.src('./less/**/*.less')
.pipe(less({
paths: [ path.join(__dirname, 'less', 'includes') ]
}))
.pipe(gulp.dest('./public/css'));
});
常用参数:
paths: 用于@import 指令的路径的数组。
plugins: less插件的数组。举例如下:
less 现在支持plugins,这可以增加额外功能
var LessAutoprefix = require('less-plugin-autoprefix');
var autoprefix = new LessAutoprefix({ browsers: ['last 2 versions'] });
return gulp.src('./less/**/*.less')
.pipe(less({
plugins: [autoprefix]
}))
.pipe(gulp.dest('./public/css'));
参考网站:
http://lesscss.org/usage/#plugins,
https://www.npmjs.com/package/gulp-less
http://lesscss.org/#using-less-configuration
http://lesscss.org/usage/#plugins
gulp-sourcemaps
gulp-less通常和gulp-sourcemaps一起使用产生对应的文件资源图,这里需要初始化gulp-sourcemaps优先运行gulp-less编译,然后写资源图,例如:
var sourcemaps = require('gulp-sourcemaps');
gulp.src('./less/**/*.less')
.pipe(sourcemaps.init())
.pipe(less())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./public/css'));
默认情况下,gulp-sourcemaps编写内嵌在被编译的css文件里的资源图,为了将它们写在单独的文件里,可以在sourcemaps.write()里指定相对的文件路径。
var sourcemaps = require('gulp-sourcemaps');
gulp.src('./less/**/*.less')
.pipe(sourcemaps.init())
.pipe(less())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/css'));
gulp-notify
是gulp中基于vinyl文件或者使用节点通知模块的各种电脑操作系统报的错或者发送的信息,给出对应的通知和提醒。
安装:
npm install --save-dev gulp-notify
然后将其放入gulpfile.js
var notify = require("gulp-notify");
gulp.src("./src/test.ext")
.pipe(notify("Hello Gulp!"));
或者:
var notify = require("gulp-notify");
gulp.src("./src/test.ext")
.pipe(notify("Found file: <%= file.relative %>!"));
gulp-plumber
阻止数据流因为其他gulp插件的错误提醒而中断。
安装:npm install --save-dev gulp-plumber
多与上述 gulp-notify中的onError()方法一同出现。
gulp.src("../test/fixtures/*")
.pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")}))
.pipe(through(function () {
this.emit("error", new Error("Something happend: Error message!"))
}));
参考网站:https://www.npmjs.com/package/gulp-notify
gulp模块的方法
src()
用于产生数据流,可以传入参数,也就是所要处理的文件,参数的写法有:
less/example.less
less/*.less less文件夹下的所有后缀为less文件
less/**/*.less less目录及其所有子目录中的所有后缀名为less的文件。
!less/example.less 除了example.less以外的所有文件。
*.+(js css):匹配项目根目录下,所有后缀名为js或css的文件。
改参数也可以是一个数组,指定多个成员,例如:
gulp.src(['less/*.less','less/*.min.less'])
dest()
该方法将管道的输出写入文件,同时将这些输出继续输出,所以可以依次调用多次dest方法,将输出写入多个目录。如果有目录不存在,将会被新建。
dest方法还可以接受第二个参数,表示配置对象。
gulp.dest('build', {
cwd: './app',
mode: '0644'
})
配置对象有两个字段。cwd字段指定写入路径的基准目录,默认是当前目录;mode字段指定写入文件的权限,默认是0777
watch()
watch方法用于指定需要监视的文件。一旦这些文件发生变动,就运行指定任务。
gulp.task('watch', function () {
gulp.watch('templates/*.tmpl.html', ['build']);
});
参考网站:http://javascript.ruanyifeng.com/tool/gulp.html
gulp基础使用总结的更多相关文章
- gulp基础操作实践
按照gulp中文文档对gulp基础操作的一些实践练习,记录以防忘掉. 一,选择并输出文件:gulp.src(globs[,options]) eg:gulp.src('src/less/index.l ...
- Gulp基础
1.什么是gulp? gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器. 2.为什么使用gulp? gulp不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工 ...
- gulp 基础运用
全局安装gulp $npm install --global gulp 作为项目的开发依赖安装 //--save-dev 开发依赖,储存在package.json的devDependencies中,如 ...
- Gulp基础知识
首先,我们需要了解Gulp能做些什么? 编译 sass sass是什么?(使CSS可以用编程的方式写,加快我们开发的速度) ...
- gulp.基础
1.安装 全局安装 npm install --global gulp 作为项目的开发依赖安装 npm install gulp --save-dev 2.在根目录下创建一个名为gulpfile.js ...
- gulp基础使用及进阶
提示:路径中不允许出现中文,否则scss编译会出错,大概. 按照惯例,先检查一下Node.js.npm(cnpm).gulp的版本号 1.新建package.json 我们可以通过手动新建这个配置文件 ...
- 【gulp】工作中的实战
写这篇文章的目的是为了以后的项目中懒得再去配gulp,直接可以拿这篇博客中的来用,因为有时候配置还是挺烦人的. gulp相关插件的介绍 用法比较简单,假设大家都会用gulp,下面主要介绍一下一些插件的 ...
- Gulp真实项目用例
包括了less预编译,css压缩,html文件include引入,js混淆压缩,本地开发热刷新服务器,html压缩,版本号添加 github地址: gulpfile.js var gulp = req ...
- gulp学习-gulpfile
安装gulp 假设已经安装了node 和npm (淘宝的cnpm很适合国内使用). 1.首页全局安装gulp. 1 npm install --global gulp 2.其次局部安装gulp.(注: ...
随机推荐
- leanchat-android
Original: https://github.com/lzwjava/leanchat-android Backup: https://github.com/eltld/leanchat-andr ...
- boa安装
Boa 下载地址:http://www.boa.org/boa-0.94.13.tar.gz 1.解压生成Makefile tar xzf boa-0.94.13.tar.gz #解压 cd boa- ...
- 9款风格华丽的jQuery/CSS3插件
今天向大家分享9款效果相当不错的jQuery/CSS3插件,不多说,直接来看看这些插件吧. 1.jQuery动画下拉菜单Smart Menu 这是一款基于jQuery的动画下拉菜单,子菜单外观比较时尚 ...
- MySQL Order By实现原理分析和Filesort优化
http://blog.csdn.net/hguisu/article/category/796963
- MYSQL 博客
DavidYang的博客 - CSDN.NET DimitriK's (dim) Weblog Xaprb · Stay Curious! 飞鸿无痕的博客 - ChinaUnix博客 何登成的技术博客 ...
- 解决ajax.net 1.0中文乱码问题!
在使用ajax.net的UpdatePanel的时候,当requestEncoding编码为GB2312的时候,出现乱码.如果要解决这个问题最简单的就是改用utf-8了,但是原来使用GB2312, ...
- Android——AnimationDrawable 实现动画
Android中的AnimationDrawable可以加载Drawable资源实现帧动画.实现步骤如下: 一.设置动画播放的帧资源 <?xml version="1.0" ...
- CSS 之 控制图片与文字对齐
文字旁边搭配图片时,发现图片比文字靠上,原来默认的情况是图片顶对齐而文字底对齐,通过设置css属性可以使得图片与文字对齐. 设置各对象的vertical-align属性,属性说明: baseline- ...
- [HTML] Google IE-x.js 解决IEx与W3C标准的冲突
如果分别用IE5.IE6.IE7浏览同一个网页,将可能出现不一样的效果.这是它们之间对CSS的解析选择器不一样或错误和个别bug所导致.为了解决这些错误和bug.我们不得不找到一个能平衡于它们之间的解 ...
- 沈逸老师PHP魔鬼特训笔记(8)
创建模板文件: 这节课老师带领我们开始创建TEMPLATE,按照老师教导的思路,我们希望这样一种代码写法:1.譬如我定义一个变量$name=‘’;2.然后呢我读取一个模板.3.再然后我在这个模板里 设 ...