美文网首页
Gulp总结

Gulp总结

作者: wdapp | 来源:发表于2020-01-17 10:50 被阅读0次

gulp

前端自动化构建工具,可以进行文本合并,文件拷贝,js压缩,css压缩,图片压缩等。

入门

  1. 全局安装 gulp:
    $ npm install --global gulp
  2. 作为项目的开发依赖(devDependencies)安装:
    $ npm install --save-dev gulp
  3. 在项目根目录下创建一个名为 gulpfile.js 的文件:
var gulp = require('gulp');
gulp.task('default', function() {
  // 将你的默认的任务代码放在这
});
  1. 运行 gulp:
    $ gulp

watch和多个task任务

var gulp = require('gulp');
var less = require('gulp-less');
gulp.task('one', function() {
  // 将你的默认的任务代码放在这
  return gulp.src("./public/less/test.less")
  .pipe(less())
  .pipe(gulp.dest("./public/css01/"));
});
gulp.task('two', ['one'],function() {
  // 将你的默认的任务代码放在这
  return gulp.src("./public/less/test01.less")
  .pipe(less())
  .pipe(gulp.dest("./public/css01/"));
});

gulp.task('default',['one','two'])

//监听所有less的变化,改变时触发 one、two task任务和on change事件函数
var watcher = gulp.watch('public/less/*.less', ['one','two']);
watcher.on('change', function(event) {
  console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});

实例

  • gulp-less 编译LESS文件
安装 npm install gulp-less

var gulp = require('gulp'),
    less = require('gulp-less');
 
gulp.task('testLess', function () {
    gulp.src('src/less/index.less')
        .pipe(less())
        .pipe(gulp.dest('src/css'));
});
  • gulp-autoprefixer 添加CSS私有前缀
安装 npm install gulp-autoprefixer

var gulp = require('gulp')
var autoprefixer = require('gulp-autoprefixer');
gulp.task('test', function () {
     gulp.src('public/css/test01.css')
        .pipe(autoprefixer({
            browsers: ['last 2 versions', 'Android >= 4.0','last 2 Explorer versions','last 3 Safari versions'],
            cascade: true, //是否美化属性值 默认:true 像这样:
            //-webkit-transform: rotate(45deg);
            //        transform: rotate(45deg);
            remove:true //是否去掉不必要的前缀 默认:true 
        }))
        .pipe(gulp.dest('public/css/dist/'));
});
  • gulp-cssmin 压缩CSS
安装 npm install gulp-cssmin

var gulp = require('gulp'),
    cssmin = require('gulp-cssmin');
 
gulp.task('test', function () {
    gulp.src('public/css/test.css')
        .pipe(cssmin())
        .pipe(gulp.dest('dist/css'));
});
  • gulp-rname重命名
安装 npm install gulp-rename

var gulp = require('gulp'),
    rename = require('gulp-rename');
 
gulp.task('test', function () {
    gulp.src('public/css/test.css')
        .pipe(rename('index.min.css'))
        .pipe(gulp.dest('dist/css'));
});
  • gulp-imagemin 图片压缩
安装 npm install gulp-rename

var gulp = require('gulp'),
    imagemin = require('gulp-imagemin');
 
gulp.task('test', function () {
     return gulp.src('src/images/*')
       .pipe(imagemin())
       .pipe(gulp.dest('build/images'));
});
  • gulp-uglify 压缩Javascript、混淆代码
安装 npm install gulp-uglify
安装 npm install gulp-concat

var gulp = require('gulp');
var concat= require("gulp-concat");
var uglify= require("gulp-uglify");
 
gulp.task('test', function () {
    gulp.src('public/js/*.js')
        .pipe(concat("min.js")) 
        .pipe(uglify({
      mangle: { toplevel: true },//类型:Boolean 默认:true 是否修改变量名
      compress: true,//类型:Boolean 默认:true 是否完全压缩
    }))//压缩
        .pipe(gulp.dest('build/js'));
});
  • gulp-concat 合并
安装 npm install gulp-concat

var gulp = require('gulp');
var concat= require("gulp-concat");
 
gulp.task('test', function () {
    gulp.src('public/js/*.js')//把所有js文件合并到min.js中
        .pipe(concat("min.js")) 
        .pipe(gulp.dest('build/js'));
});
  • gulp-htmlmin 压缩HTML
安装 npm install gulp-minify-html

var gulp = require('gulp');
var minify= require("gulp-minify-html");
 
gulp.task('test', function () {
    gulp.src('public/html/*.html')//要压缩的html文件
     .pipe(minifyHtml())//压缩
     .pipe(gulp.dest('build/html'));
});
  • gulp-rev-append 添加版本号
index.html
<!doctype html>
<html>
  <head>
    <link rel="stylesheet" href="public/css/test.css?rev=@@hash">
    <script src="public/js/a.js?rev=@@hash"></script>
    <script src="public/js/index.js"></script>
  </head>
  <body>
    <div>hello, world!</div>
    <img src="images/a.png?rev=@@hash" alt="" />
    <script src="public/js/test01.js?rev=@@hash"></script>
  </body>
</html>

安装 npm install gulp-autoprefixer

var gulp = require('gulp')
var rev = require('gulp-rev-append');
gulp.task('test', function () {
     gulp.src('./index.html')
           .pipe(rev())
           .pipe(gulp.dest('./dist/html'));
});

补充

  • glup-if
  • gulp-useref
  • gulp.spritesmith 雪碧图
var gulp = require("gulp");  
var spritesmith = require('gulp.spritesmith'); //雪碧图  
  
gulp.task('sprite', function () {  
    return gulp.src('src/images/*.png')
    .pipe(spritesmith({  //需要混合的图片路径  
        imgName: 'sprite.png',  //合并后图片的名称  
        cssName: 'sprite.css'   //生成的CSS文件  
    }))
    .pipe(gulp.dest('sprite')); //文件输出路径  
});

相关文章

  • 优秀文章收集

    html css javascript 前端框架与插件 项目总结与日常记录 前端其他 gulp gulp API ...

  • gulp总结

    1.什么是gulp 简单来说就是一个包管理工具。 2.gulp基础内容讲解 2.1 gulp.src(globs[...

  • gulp总结

    gulp gulp 是基于stream的自动化构建工具 官网 https://www.gulpjs.com.cn/...

  • Gulp总结

    # gulp 前端自动化构建工具,可以进行文本合并,文件拷贝,js压缩,css压缩,图片压缩等。 ### 入门 1...

  • Gulp总结

    gulp 前端自动化构建工具,可以进行文本合并,文件拷贝,js压缩,css压缩,图片压缩等。 入门 全局安装 gu...

  • 2018-11-14

    gulp集成本地服务器: 踩坑gulp后总结出来的结果,这只是小女的一个总结,如有错误之处,还请大佬们指出~~~大...

  • gulp

    gulp gulp.src gulp.dest gulp.task gulp.watch gulp.pipe() ...

  • gulp个人总结

    gulp 前言 gulp是基于Nodejs的自动任务运行器,它能自动化地完成javascript/sass/les...

  • gulp 自用总结

    1.Browsersync https://browsersync.io/#install 配合gulp插件使用:...

  • Gulp插件总结

    Recipes http://www.gulpjs.com.cn/docs/recipes/ Plugins 压缩...

网友评论

      本文标题:Gulp总结

      本文链接:https://www.haomeiwen.com/subject/fjdczctx.html