zoukankan      html  css  js  c++  java
  • gulp-入门

    *  此操作只适合于gulp3

    gulp安装

      全局安装:npm install gulp -g
      项目内安装: npm install --save-dev gulp

    gulp常用到的API

      gulp.src('') : 说白了就是你要编译的内容的位置

      gulp.dest(''): 就是你掏把编译过的内容存放的位置

      gulp.task(''):  新建任务

      gulp.watch(''): 监控任务

      gulp.start('');  开始任务 gulp4开始 不能用了

    gulp常用的插件

      安装方式都是  npm install --save-dev gulp-插件名

      安装之后就可以在package.json文件 devDependencies目录下找到(顺便说一下 有时候gulp编译的时候出现bug,第一步应该先在这里看看插件安装成功与否)

      gulp-htmlmin: 其实就是html的编译

      gulp-sass: 其实就是css的编译

      gulp-changed: 只编译改动过的文件

      gulp-debug:可以看出来哪些文件进行过编译

    我自己写的一个小demo:

    下面是我的目录结构 :简单介绍一下   我把src-iframe-index.html文件编译过后放到src2-iframe下面, src-js-index.js文件编译过后放到src2-js下面

    let gulp = require('gulp');
    
    let changed = require('gulp-changed');
    let htmlmin = require('gulp-htmlmin');
    let debug = require('gulp-debug');
    
    let htmlminOptions = {
        removeComments: true,
        collapseWhitespace: true,
        collapseBooleanAttributes: true,
        removeEmptyAttributes: true,
        removeScriptTypeAttributes: true,
        removeStyleLinkTypeAttributes: true,
        minifyJS: true,
        minifyCSS: true
    };
    
    gulp.task('copy-jslib', function () {
        return gulp.src('src/js/*').pipe(gulp.dest('src2/js/'));
    });
    
    gulp.task('copy', function () {
        gulp.start('copy-jslib')
    })
    
    
    gulp.task('iframehtml', function () {
        let srcHtml = 'src/iframe/*.html';
        let destHtml = 'src2/iframe/';
        return gulp
            .src(srcHtml)
            .pipe(changed(destHtml, {extension: '.html' }))
            .pipe(debug({ title: '【iframehtml编译】: ' }))
            .pipe(htmlmin(htmlminOptions))
            .pipe(gulp.dest(destHtml));
    })
    
    gulp.task('html', function () {
        gulp.start('iframehtml')
    })
    
    gulp.task('one', function (cb) {  // cb为任务函数提供的回调,用来通知任务已经完成
        setTimeout(function () {
            console.log('one is done')
            cb();  // 执行回调,表示这个异步任务已经完成
        }, 5000)
    })
    
    // 这时two任务会在one任务中的异步操作完成之后再执行
    gulp.task ('two', ['one'], function () {
        console.log('two is done');
    })
    
    
    gulp.task('default', function () {
        gulp.start('copy', 'html', 'one', 'two')
    })
    简单介绍一下其实很简单的 大家应该都能看的懂:
      1.引入gulp以及各种作用的插件
      2.创建任务
      gulp.task('创建任务名称', function () {
        return 执行的操作 gulp.src('开始目录').pipe(gulp.dest('编译后的目录'))
      }) 
      3. 启动任务
      gulp.task('任务名称', function () {
        gulp.start('创建任务名称')
      })
      4.要有一个默认的启动项
      gulp.task('default', function () {
        gulp.start('任务名称'')
      })
     
    最后总结一下:
      我是最近在学习gulp,查了很多资料然后有了一点自己的理解,我自己验证过是可以用的,所以想发出来给大家一点参考,如果觉得有什么不对的地方希望可以评论我们一起研究,不喜欢也不要喷我哈,我的初衷只是为了让自己加深印象  仅此而已
  • 相关阅读:
    武功秘籍 蓝桥杯
    切面条 蓝桥杯
    啤酒和饮料 蓝桥杯
    蚂蚁感冒 蓝桥杯
    hdu N!
    hdu 神、上帝以及老天爷
    ListView滑动删除 ,仿腾讯QQ
    C++ 习题 输出日期时间--友元函数
    C++习题 商品销售
    渠道运营一点事
  • 原文地址:https://www.cnblogs.com/gsz0420/p/14148867.html
Copyright © 2011-2022 走看看