gulp学习。
安装gulp
安装gulp之前必须先安装node.js,然后在命令行里输入 $ npm install gulp-cli -g (-g 表示全局安装)然后在输入$ gulp -v ,验证,安装完成后再安装gulp,命令行里输入 $ npm install gulp 安装 再输入 $ gulp --version。
创建一个Gulp项目
在学习过程中,将一个名为package.json的文件作为根目录,在命令行内运行 $ npm init ,这将会为你的项目创建一个叫package.json的文件,文件会储存关于你的项目的信息,就像在项目里使用的依赖,在创建了package.json之后就可以通过 $ npm install gulp --save-dev (--save-dev 意思是把gulp作为依赖添加到当前项目。)在项目中只能装Gulp,这次我们是把Gulp安装到有package.json的项目中,而这个不是全局安装。现在可以在文件夹中看到一个node_modules文件夹,安装的gulp就在node_modules文件夹中。
我们已经做好了使用Gulp的准备工作,在我们使用之前必须清楚我们将要怎么使用Gulp。
1.使用Gulp我们先引入依赖
二、gulp常用插件
1、gulp-uglify(JS压缩)
安装:npm install gulp-uglify --save-dev
gulpfile.js代码如下:
var gulp = require('gulp');//引入依赖
var uglify= require("gulp-uglify");//引入插件
gulp.task('jsmin',function() {
gulp.src('src/**/*.js')//要压缩的文件
.pipe(uglify())//压缩
.pipe(gulp.dest('build/js'));//压缩到哪
});
gulp.task('default',['jsmin']);//注册默认任务
2、gulp-minify-html(html压缩)
安装:npm install --save-dev gulp-minify-html
代码如下:
var gulp = require('gulp');//引入依赖
var htmlmin= require("gulp-minify-html");//引入插件
gulp.task('minify-html',function() {
gulp.src('src/**/*.html')//要压缩的html文件
.pipe(htmlmin())//压缩
.pipe(gulp.dest('build'));//压缩到哪,
});
gulp.task('default',['minify-html']);//注册默认任务
3. gulp-concat (js文件合并)
安装:npm install --save-dev gulp-concat
代码如下:
var gulp = require('gulp');//引入依赖
concat= require("gulp-concat");//引入插件
gulp.task('concat',function() {
gulp.src('src/**/*.js') //要合并的文件
.pipe(concat('index.js')) //合并匹配到的js文件并命名为 "index.js"
.pipe(gulp.dest('build/js'));//合并完保存到哪
});
gulp.task('default',['concat']);//注册默认任务
4、gulp-clean-css(压缩css)
安装:npm install gulp-clean-css --save-dev
Gulpfile.js代码如下:
var gulp= require('gulp');//引入依赖
var mincss= require("gulp-clean-css");//引入插件
gulp.task('cssmin',function(){
gulp.src('css/*.css')//要压缩的css
.pipe(mincss())//压缩
.pipe(gulp.dest('dest'))//压缩完保存到哪
});gulp.task('default',['cssmin'])//注册默认任务
5、gulp-less
安装:npm install gulp-less --save-dev
Gulpfile.js代码如下:
var gulp = require('gulp'),//引入依赖
var less= require("gulp-less");//引入插件
gulp.task('compile-less',function() {
gulp.src('src/less/*.less')//
.pipe(less())
.pipe(gulp.dest('build/css'));
});
gulp.task('default',['compile-less']);//注册默认任务
6、gulp-sass
安装:npm install gulp-sass --save-dev
代码如下:
var gulp = require('gulp');//引入依赖
var sass= require("gulp-sass");//引入插件
gulp.task('compile-sass',function() {
gulp.src('src/sass/*.sass')
.pipe(sass())
.pipe(gulp.dest('build/css'));
});
gulp.task('default',['compile-sass']);//注册默认任务
7、gulp-imagemin(图片压缩)
安装:npm install –save-dev gulp-imagemin
代码如下:
var gulp = require('gulp');//引入依赖
var imagemin = require('gulp-imagemin');//引入插件
gulp.task('uglify-imagemin',function() {
returngulp.src('src/images/*');//压缩图片的路径
.pipe(imagemin())//压缩
.pipe(gulp.dest('build/images'));//压缩完保存的路径
});
gulp.task('default',['uglify-imagemin']);//注册默认任务
gulp学习。的更多相关文章
- gulp学习笔记4
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 之前的任务都是单个的,比较简单.接下去我们开始引用多个插件,一次性把任务搞定,省 ...
- Gulp学习指南之CSS合并、压缩与MD5命名及路径替换(转载)
本文转载自: Gulp学习指南之CSS合并.压缩与MD5命名及路径替换
- gulp学习笔记1
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.安装gulp 首先我们需要node环境,nodejs安装这里就不说了,不懂的 ...
- gulp学习笔记2
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1. 压缩 CSS 压缩 css 代码可降低 css 文件大小,提高页面打开速度 ...
- gulp学习笔记3
gulp系列学习笔记: 1.gulp学习笔记1 2.gulp学习笔记2 3.gulp学习笔记3 4.gulp学习笔记4 1.编译sass Sass 是一种 CSS 的开发工具,提供了许多便利的写法,大 ...
- Gulp 学习总结
Gulp 自动化工具开发非常方便,便于上手,值得使用. 一.Gulp安装 gulp是基于NodeJS运行的,所以需要想安装NodeJS. http://nodejs.org/download/ 安装 ...
- gulp 学习笔记
以这次学习gulp为契机来同时了解和学习node相关的知识和概念,比如 npm,package.json等,为以后学习node打好基础. 目录 npm 查看模块 安装模块 ...
- gulp学习笔记——最好的学习文档是官网
官网:http://www.gulpjs.com.cn/docs/api/ 当然还有一个博客写的也很好,当我看不下去官网的时候,这个帮助了我很多,明了易懂:http://www.ydcss.com/a ...
- 前端自动化构建工具 gulp 学习笔记 一、
一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...
- gulp学习-metamask前端使用
https://www.gulpjs.com.cn/docs/getting-started/ ,这个是3.9.0版本 后面发现安装的版本是4.0.0,看下面这个: https://github.co ...
随机推荐
- Installation failed with message...It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.
错误弹窗如图: Installation failed with message Failed to finalize session: INSTALL_FAILED_TEST_ONLY:instal ...
- idea @Override is not allowed when implementing interface method
转自:http://blog.csdn.net/shenya2/article/details/50460447 在编码过程发现报错:@Override is not allowed when imp ...
- 关于SAN和NAS的区别-转
什么是SAN与NAS By 王文平 发表于 2006-7-10 18:03:53 NAS和SAN字面上相似,并且都是新型数据存储模式,但这二者是完全不同的,针对不同方向的技术. 什么是SAN(St ...
- 第一章 Java Web工作原理
一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1. ...
- UIKit 框架之UIView一
- (id)initWithFrame:(CGRect)aRect //通过一个矩形对象初始化 Configuring a View’s Visual Appearance //配置视觉展示 @pro ...
- 并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析
前言 我们之前分析了Hash的源码,主要是 put 方法.同时,我们知道,HashMap 在并发的时候是不安全的,为什么呢?因为当多个线程对 Map 进行扩容会导致链表成环.不单单是这个问题,当多个线 ...
- ASP.NET编辑与更新数据(非GridView控件实现)
Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...
- [bug]不包含“AsNoTracking”的定义
摘要 在使用ef做查询优化的时候我们会用到AsNoTracking方法,但如果不引入命名空间,你就会出现不包含“AsNoTracking”的定义的错误. 解决办法 引入命名空间:System.Data ...
- sqlserver 删除表中数据 id 从1开始
TRUNCATE TABLE TbName --TbName是表名 但如果TbName中某些字段与其它表有主外键关系,会报错: 无法截断表 'Plants',因为该表正由 FOREIGN KE ...
- [android] WebView与Js交互
获取WebView对象 调用WebView对象的getSettings()方法,获取WebSettings对象 调用WebSettings对象的setJavaScriptEnabled()方法,设置j ...