gulp的使用2

结合我平时的工作,我把gulp重新整理了一份新的,增加了一些新的功能

'use strict';
//载入gulp核心包
const gulp        = require("gulp");
const concat      = require('gulp-concat');
const uglify      = require('gulp-uglify');
const imagemin    = require('gulp-imagemin');
const connect     = require("gulp-connect");
const htmlmin     = require("gulp-htmlmin");
const babel       = require("gulp-babel");
const browserSync = require('browser-sync');
const reload      = browserSync.reload;
const cache       = require('gulp-cache');
const clean       = require('gulp-clean');
const assetRev    = require("gulp-asset-rev");
var base64        = require('gulp-base64');
var notify        = require('gulp-notify');
var path = {
    HTML: "src/*.html",
    CSS: "src/css/*.css",
    JS: "src/js/*.js",
    Images: 'src/images/*.*'
};
//gulp是用来帮我们执行一些重复操作
//如何定义一个任务
//第一个参数是任务名,第二个参数是任务的执行体
gulp.task('dest', function() {
    //文件copy
    gulp.src('src/**/*.*') //src下面所有目录文件
        //让文件流走向下一个环节
        .pipe(gulp.dest('dist/')); //dest指定文件输出地方


});


//清除
gulp.task("clean", function() {
    return gulp.src('dist/*')
        .pipe(clean());
});
//压缩html
gulp.task("htmlmin", function() {
    var options = {
        removeComments: true, //清除HTML注释
        collapseWhitespace: true, //压缩HTML
        collapseBooleanAttributes: true, //省略布尔属性的值 <input checked="true"/> ==> <input />
        removeEmptyAttributes: true, //删除所有空格作属性值 <input id="" /> ==> <input />
        removeScriptTypeAttributes: true, //删除<script>的type="text/javascript"
        removeStyleLinkTypeAttributes: true, //删除<style>和<link>的type="text/css"
        minifyJS: true, //压缩页面JS
        minifyCSS: true //压缩页面CSS
    };
    gulp.src('src/*.html')
        .pipe(htmlmin(options))
        .pipe(gulp.dest('dist'));
});
//ES6转ES5
gulp.task("babelIt", function() {
    return gulp.src("src/js/main.js") // ES6 源码存放的路径 
        .pipe(babel({ presets: ['es2015'] }))
        .pipe(gulp.dest("dist/js"))
        .pipe(browserSync.stream()); //转换成 ES5 存放的路径
});




//HTML 代码复用实践
var fileinclude = require('gulp-file-include');


gulp.task('fileinclude', function() {
    return gulp.src('src/**.html')
        .pipe(fileinclude({
            prefix: '@@',
            basepath: '@file'
        }))
        .pipe(gulp.dest('dist'));
});
//压缩js并增加版本号
gulp.task("jsmins", function() {
    return gulp.src(['src/js/*.js'])
        .pipe(uglify())
        .pipe(assetRev())
        .pipe(gulp.dest('dist/js'))
        .pipe(browserSync.stream());
});
//增加css的版本号并把小于20kB的图片64位编码
gulp.task('revCss', function() {
    return gulp.src('src/css/*.css')
        .pipe(base64({
            baseDir: 'src/css',
            extensions: ['png', 'jpg'],
            maxImageSize: 20 * 1024, // bytes
            debug: false
        }))
        .pipe(assetRev())
        .pipe(gulp.dest('dist/css/'))
        .pipe(browserSync.stream());
});


//压缩新增的图片
gulp.task('imagemin', function() {
    return gulp.src('src/images/*')
        .pipe(cache(imagemin({ optimizationLevel: 5, progressive: true, interlaced: true })))
        .pipe(gulp.dest('dist/images'))
        .pipe(browserSync.stream());
});
//html复用生成并添加版本号
gulp.task('rev', ['revCss', 'jsmins', 'imagemin'], function() {
    return gulp.src("src/*.html")
        .pipe(fileinclude({
            prefix: '@@',
            basepath: '@file'
        }))
        .pipe(assetRev())
        .pipe(gulp.dest('dist'))
        .pipe(browserSync.stream());
});
//保存即刷新起新的服务器
gulp.task('server', function() {
    browserSync({
        server: {
            baseDir: 'src'
        }
    });
    // gulp.watch(path.CSS, ["revCss"]);
    // gulp.watch(path.JS, ["revJs"]);
    // gulp.watch(path.HTML, ["rev"]);
    // gulp.watch(path.Images, ["imagemin"]);
    gulp.watch("src/**/*.*").on('change', browserSync.reload);
});




gulp.task('build', ['clean'], function() {
    gulp.start('rev', 'server', function() {
        console.log('tasks complete');
    });


});


交通标志目标检测数据集一、基础信息• 数据集名称:交通标志目标检测数据集• 图片数量:训练集950张图片,验证集254张图片,测试集137张图片,总计1341张图片• 标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务• 数据格式:图片文件,来源于交通相关场景,涵盖多种交通标志类别二、适用场景• 自动驾驶系统开发:帮助构建能够自动识别道路交通标志的AI模型,提升自动驾驶车辆的环境感知和决策能力。• 智能交通监控:集成至交通管理系统,实时检测和分类交通标志,用于流量优化、安全预警和违规行为分析。• 驾驶员辅助应用:支持高级驾驶员辅助系统(ADAS)的研发,提供实时标志识别和提醒功能,增强驾驶安全。• 学术研究与创新:支持计算机视觉、自动驾驶和智能交通领域的学术研究,助力算法优化、模型验证和新方法探索。三、数据集优势• 精准标注与实用性:每张图片均经过标注,确保交通标志的边界框定位精确,类别标签准确,适用于实际应用场景。• 场景多样性:数据集包含多种交通标志类型,覆盖不同环境条件,提升模型的鲁棒性和泛化能力。• 任务适配性强:标注兼容YOLO等主流深度学习框架,可直接用于目标检测任务的训练和评估,支持快速模型部署。• 应用价值突出:专注于交通标志检测,对提升道路交通安全、自动驾驶技术发展和智能交通系统建设有重要贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值