• gulp


    var gulp = require('gulp');
    var uglify = require('gulp-uglify'); // 获取 uglify 模块(用于压缩 js)
    var minifyCSS = require('gulp-minify-css'); // 获取 minify-css 模块(用于压缩 CSS)
    var htmlminify = require("gulp-html-minify");
    var imageMin = require('gulp-imagemin');
    var pngquant = require('imagemin-pngquant');
    var connect = require('gulp-connect')
    var livereload = require('gulp-livereload')
    var rev = require('gulp-rev')
    var revReplace = require('gulp-rev-replace')
    var revCollector = require('gulp-rev-collector')
    var runSequence = require('run-sequence')
    var proxy = require('http-proxy-middleware');
    var babel = require('gulp-babel');
    //var del = require('del');
    var path = require('path')
    // 源usr
    var src = {
    html: ['./url/pages/*.html', './youzb_web/pages/*.html'],
    style: ['./url/static/css/common/*.css', './url/static/css/lib/*.css', './url/static/css/module/*.css'],
    script: ['./url/static/js/common/*.js', './url/static/js/lib/*.js', './url/static/js/module/*.js'],
    images: ['./url/static/images']
    } // 生成
    var build = {
    path: './build',
    html: './build/pages',
    style: ['./url/build/static/css/common', './url/build/static/css/lib', './url/build/static/css/module'],
    script: ['./url/build/static/js/common', './url/build/static/js/lib', './url/build/static/js/module'],
    images: ['./url/build/static/images']
    }
    gulp.task('script', function() {
    // 1. 找到文件
    gulp.src(src.script, {
    base: __dirname
    })
    // 2. 压缩文件
    .pipe(babel({
    presets: ['es2015']
    })).pipe(uglify()).pipe(rev())
    // 3. 另存压缩后的文件
    .pipe(gulp.dest('build'))
    .pipe(rev.manifest())
    .pipe(gulp.dest('build/rev/js'))
    })
    // 压缩 css 文件
    // 在命令行使用 gulp css 启动此任务
    gulp.task('css', function() {
    // 1. 找到文件
    gulp.src(src.style, {
    base: __dirname
    }).pipe(rev())
    // 2. 压缩文件
    .pipe(minifyCSS())
    // 3. 另存为压缩文件
    .pipe(gulp.dest('build'))
    .pipe(rev.manifest())
    .pipe(gulp.dest('build/rev/css'))
    })
    gulp.task('image', function() {
    gulp.src('./static/images/*.*')
    .pipe(imageMin({
    progressive: true,
    use: [pngquant()]
    })).pipe(gulp.dest('./build/static/images'))
    })
    //压缩html
    gulp.task('build-html', function() {
    return gulp.src(src.html).pipe(htmlminify()).pipe(gulp.dest(build.html))
    });
    gulp.task('rev', function() {
    return gulp.src(['build/rev/**/*.json', 'build/pages/*.html']).pipe(revCollector()).pipe(gulp.dest('build/pages/'));
    });

    gulp.task('connect', function() {
    connect.server({
    root: './',//项目根路径
    port: '3000',
    livereload: true,
    host: '0.0.0.0',
    middleware: function(connect, opt) {
    return [
    proxy('/ols', {
    target: 'url',//代理的ip地址
    changeOrigin: true
    }),
    ]
    }
    });
    });
    gulp.task('watch', function() {
    livereload.listen();
    gulp.watch(['./**/pages/*.html', './**/pages/**/*.html', './**/static/**/*.*', './**/static/**/**/*.*'])
    .on("change", function(event) {
    livereload.changed(event.path)
    });
    });
    // 使用 gulp.task('default') 定义默认任务
    // 在命令行使用 gulp 启动 sass 任务和 auto 任务//
    gulp.task('default', ['connect', 'watch'])
    gulp.task('dev', ['connect', 'watch'])
    gulp.task('pro', function(done) {
    condition = false;
    //依次顺序执行
    unSequence(['build-html'], ['css'], ['script'], ['image'], done);
    });gulp.task('default', ['dev'])

  • 相关阅读:
    [Leetcode] Combination Sum II
    [Leetcode] Search in Rotated Sorted Array
    [LeetCode] Number of 1 Bits
    [Jobdu] 题目1373:整数中1出现的次数(从1到n整数中1出现的次数)
    [Jobdu] 题目1377:缓变序列
    [LeetCode] Add Two Numbers
    [LeetCode] Repeated DNA Sequences
    [LeetCode] Reverse Bits
    [Jobdu] 题目1139:最大子矩阵
    [LeetCode] Clone Graph
  • 原文地址:https://www.cnblogs.com/gudun/p/9170344.html
Copyright © 2020-2023  润新知