• gulp 流处理


    包含的内容:

        穿插流
        流合并
        流队列
        流筛选
    1. 穿插流
    // passthrough  stream  把流传递给其他的
    
    // use
    
    gulp.src(glob,{passthrough:true})
    
    // function 
    进行流的合并处理,避免多余配置以及冗余代码
    2. 合并流
    // 使用merge2
    
    // install 
    
    yarn  add merge2  or  npm install merge2
    
    // use
    
    const gulp = require('gulp')
    const merge2 = require('merge2')
    const concat = require('gulp-concat')
    const minifyHtml = require('gulp-minify-html')
    const ngtemplate = require('gulp-ngtemplate')
     
    gulp.task('app-js', function () {
      return merge2(
          gulp.src('static/src/tpl/*.html')
            .pipe(minifyHtml({empty: true}))
            .pipe(ngtemplate({
              module: 'genTemplates',
              standalone: true
            })
          ), gulp.src([
            'static/src/js/app.js',
            'static/src/js/locale_zh-cn.js',
            'static/src/js/router.js',
            'static/src/js/tools.js',
            'static/src/js/services.js',
            'static/src/js/filters.js',
            'static/src/js/directives.js',
            'static/src/js/controllers.js'
          ])
        )
        .pipe(concat('app.js'))
        .pipe(gulp.dest('static/dist/js/'))
    })
    3. 流队列
    // 使用 streamqueue
    //use
    
    var StreamQueue = require('streamqueue');
    var queue = new StreamQueue();
    queue.queue(
     gulp.src('static/src/tpl/*.html')
            .pipe(minifyHtml({empty: true}))
            .pipe(ngtemplate({
              module: 'genTemplates',
              standalone: true
            })
          ), gulp.src([
            'static/src/js/app.js',
            'static/src/js/locale_zh-cn.js',
            'static/src/js/router.js',
            'static/src/js/tools.js',
            'static/src/js/services.js',
            'static/src/js/filters.js',
            'static/src/js/directives.js',
            'static/src/js/controllers.js'
          ])
    );
    queue.pipe(process.stdout);
    4. 流修改
    // 使用 gulp-filter
    
    // use
    
    const gulp = require('gulp');
    const uglify = require('gulp-uglify');
    const filter = require('gulp-filter');
     
    gulp.task('default', () => {
        // Create filter instance inside task function 
        const f = filter(['**', '!*src/vendor']);
     
        return gulp.src('src/**/*.js')
            // Filter a subset of the files 
            .pipe(f)
            // Run them through a plugin 
            .pipe(uglify())
            .pipe(gulp.dest('dist'));
    });
    
    参考文档
    https://www.npmjs.com/package/gulp-filter
    5. 顺序流、并行流
    // gulp-series  gulp.parallel (4.0) 
    // use
    
    gulp.series 
    gulp.task("scripts",gulp.series("test","deploy"))
    
    gulp.parallel
    gulp.tast("mixs",gulp.series("clean",gulp.parallel("style","scripts")))
  • 相关阅读:
    Record of coding:Codeforces 1093E
    【刷题记录】网络流24题等
    【模板归纳】网络流及费用流
    【刷题记录】BZOJ2154 crash的数字表格 莫比乌斯反演
    【刷题记录】SDOI2017数字表格
    算法总结 给定范围内最大公约数为某一定值的数对个数的算法
    刷题记录【BZOJ2440 完全平方数】数论、组合数学、莫比乌斯函数
    刷题记录 【HAOI2007】理想的正方形 二维st表
    刷题记录【ZJOJ2005午餐】,贪心+DP或者
    刷题记录【ZJOI2007棋盘制作】二维DP,悬线法。。。
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/7819544.html
Copyright © 2020-2023  润新知