先做一个简单的科普

gulp.src() 是用来定位执行路径的,参数通常是一个path

gulp.dest() 是用来定位输出路径的,执行的结果都会保存在这个路径下面,可以到路径下面查看结果

gulp.pipe() 将需要处理的内容导向一个插件

gulp.watch(glob, fn) 当glob内容发生改变时,执行fn

gulp.task() 定义一个gulp任务

var gulp = require('gulp');

gulp.task('task1', function () {
console.log('task1 done');
}); gulp.task('task2', function () {
console.log('task2 done!');
}); gulp.task('task3', function () {
console.log('task3 done');
}); gulp.task('end', ['task1', 'task3', 'task2'], function () {
console.log('end done');
});

在我电脑上的执行结果是这样的

gulp.run(tasks...) 尽可能多的并行运行多个task

使用run()后,上述代码可修改为

var gulp = require('gulp');

gulp.task('task1', function () {
console.log('task1 done');
}); gulp.task('task2', function () {
console.log('task2 done!');
}); gulp.task('task3', function () {
console.log('task3 done');
}); gulp.task('end', function () {
gulp.run('task1','task3','task2');
});

输出的结果为

结果没什么不正常,注意到一段话,说run()这个方法已经不被提倡了,建议使用watch()来代替,然而我还并不知道watch到底能做些什么,以后再说。

好,现在科普完毕,我们开始压缩css。

首先我们找到我们存放css的路径,注意,我们的所有路径都是相对于gulpfile.js这个文件来说的,也就是根目录,我的css文件是放在./css下的

然后我们要想好我们结果输出的路径,我就放在根目录下面的min文件夹好了,

想好这些以后我们就可以开始写代码了

var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
var autoprefixer = require('gulp-autoprefixer');
var minifycss = require('gulp-minify-css');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var imagemin = require('gulp-imagemin');
var rename = require('gulp-rename');
var concat = require('gulp-concat');
var notify = require('gulp-notify');
var cache = require('gulp-cache');
var livereload = require('gulp-livereload');
var del = require('del'); gulp.task('default', function() {
//default task code
}); gulp.task('minify-css', function(){
return gulp.src('./css/*.css')
.pipe(rename({suffix: '.min'}))
.pipe(minifycss())
.pipe(gulp.dest('./min'))
.pipe(notify({message: 'minify-css task complete'}));
});

我不知道我会用到哪些插件,为了防止报错,我就全引用进来了,我们只需要关注minify-css这个task的代码段,而这个时候我已经不需要解释你就可以看懂了。

执行结果如下

而在我们的输出路径下也能看到我们的压缩文件

这样,我们不仅学会了如何压缩文件,也熟悉了gulp的API。

Gulp API之怎样压缩CSS的更多相关文章

  1. gulp构建前端,压缩css,js文件,实现浏览器自动刷新

    一.安装node nodejs下载地址:https://nodejs.org/ nodejs自带npm模块管理器,安装完成之后打开dos命令窗口输入 node -v就能查看nodejs是否安装成成功 ...

  2. gulp压缩css文件跟js文件

    越到最后啊 就越发现,真的很理解那句话 就是自己多学一点一点知识,就少一句问别人的东西 这是多么痛苦的领悟 今天需要压缩css跟js文件 然后不懂啊 就问别人啊 就问啊问啊 然后再上网了解啊了解啊 用 ...

  3. 续Gulp使用入门三步压缩CSS

    gulp 压缩css 一.安装 gulp-minify-css 模块 提示:你需要使用命令行的 cd 切换到对应目录后进行安装操作. 在命令行输入 npm install gulp-minify-cs ...

  4. gulp 之一 安装及简单CSS,JS文件合并压缩

    最近研究了一下gulp构建工具,发现使用起来比grunt顺手一些.(个人感受),以下是grunt和gulp构建方式和原理: grunt 基于文件方式构建,会把文件先写到临时目录下,然后进行读文件,修改 ...

  5. gulp压缩css和js

    压缩 css 代码可降低 css 文件大小,提高页面打开速度. 规律转换为 gulp 代码 找到 css/ 目录下的所有 css 文件,压缩它们,将压缩后的文件存放在 dist/css/ 目录下.一. ...

  6. 使用 gulp 压缩 CSS

    请务必理解如下章节后阅读此章节: 安装 Node 和 gulp 使用 gulp 压缩 JS 压缩 css 代码可降低 css 文件大小,提高页面打开速度. 我们接着将规律转换为 gulp 代码 规律 ...

  7. gulp压缩css

    gulp压缩css,选用的依赖是gulp-clean-css,在压缩大型项目时还对用到一个dom流压缩文件选取的依赖gulp-dom-src 依赖安装:npm i gulp-clean-css 依赖安 ...

  8. gulp api

    gulp api 简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成 gulp是基于Nod ...

  9. 前端自动化(三) 合并压缩css、压缩js、添加时间戳、打包上线操作

    前端自动化(三)   合并压缩css.压缩js.添加时间戳.打包上线操作 此文在前两篇基础上对比参考,会很方便理解 gulp.task("delete",function(){ r ...

随机推荐

  1. svm小问题

    1.没有报错但是结果是pedicttestlabel = [] accuracy = [] 举例:(前提是装了工具箱libsvm-3.21) data=[178,80;172,75;160,50;15 ...

  2. source和sh

    写了一个脚本[xxyScript.sh],用于判断tomcat是否启动 #!/bin/bash if [ -z "$(ps -ef | grep tomcat | grep -v 'grep ...

  3. [转帖]Kerberos简介

    1.  Kerberos简介 https://www.cnblogs.com/wukenaihe/p/3732141.html 1.1. 功能 一个安全认证协议 用tickets验证 避免本地保存密码 ...

  4. [51CTO]给您介绍Windows10各大版本之间区别

    给您介绍Windows10各大版本之间区别 随着win10的不断普及和推广,越来越多的朋友想安装win10系统了,但是很多朋友不知道win10哪个版本好用,为了让大家能够更好的选择win10系统版本, ...

  5. ANR基础

    转自:http://blog.sina.com.cn/s/blog_c0de2be70102wd1k.html 1.ANR basic knowledge ANR分类: Key Dispatch Ti ...

  6. 微信小程序 功能函数 openid本地和网络请求

    本地-------------------------------------------------------------------------------------------------- ...

  7. ArrayList底层实现

    ArrayList 底层是有数组实现,实际上存放的是对象的引用,而不是对象本身.当使用不带参的构造方法生成ArrayList对象时,实际会在底层生成一个长度为10的数组 当添加元素超过10的时候,会进 ...

  8. Bracket Sequences Concatenation Problem CodeForces - 990C(括号匹配水题)

    明确一下  一个字符串有x左括号不匹配  和 另一个字符串有x个右括号不匹配  这俩是一定能够匹配的 脑子有点迷 emm... 所以统计就好了  统计x个左括号的有几个,x个右括号的有几个 然后 乘一 ...

  9. MT【146】一边柯西,一边舍弃

    (2018浙江省赛9题)设$x,y\in R$满足$x-6\sqrt{y}-4\sqrt{x-y}+12=0$,求$x$的范围______ 解答:$x+12=6\sqrt{y}+4\sqrt{x-y} ...

  10. 【刷题】BZOJ 1070 [SCOI2007]修车

    Description 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使 ...