美文网首页
gulp-检查文件大小写

gulp-检查文件大小写

作者: kyle背背要转运 | 来源:发表于2017-07-10 08:24 被阅读0次

<b>前提:</b>因为公司的静态资源保存在某云上,要求文件名不能包含大写字母,所以需要在前端的构建上进行文件检查。
<b>工具:</b>gulp + gulp-rename 即可实现,剩余的插件是顺序执行(run-sequence)缓存(gulp-changed),log提示(gulp-util)。
<b>原理:</b>使用gulp.src拿到文件,使用rename拿到文件名,用正则进行匹配,返回结果,再结束任务就行啦。

具体源码如下:

var gulp = require('gulp'),
uppercaseCount = 0,
rename = require('gulp-rename'),
gutil = require('gulp-util'),
changed = require('gulp-changed'),
runSequence = require('run-sequence');
//源文件路径
var sourcePath = 'content/hybrid/';
var paths = {
    styles: sourcePath + 'styles/**/*.css',
    images: sourcePath + 'images/**/*.{jpg,png,gif}',
};
//正则匹配大小写,并打印文件名
function Check_uppercase(path) {
    if (/[A-Z]/.test(path.dirname) || /[A-Z]/.test(path.basename) || /[A-Z]/.test(path.extname)) {
        gutil.log(gutil.colors.magenta(path.dirname + '/' + path.basename + path.extname));
        return 'true';
    }
}
//分目录检查
gulp.task('checkUppercase-img', function() {
    return gulp.src(paths.images).pipe(changed(paths.images)).pipe(rename(function(path) {
        if (Check_uppercase(path)) {
            uppercaseCount = uppercaseCount + 1;
        }
    }));
});
gulp.task('checkUppercase-css', function() {
    return gulp.src(paths.styles).pipe(changed(paths.styles)).pipe(rename(function(path) {
        if (Check_uppercase(path)) {
            uppercaseCount = uppercaseCount + 1;
        }
    }));
});
//顺序进行并调用
gulp.task('checkUppercase', function() {
    runSequence('checkUppercase-img', 'checkUppercase-css', function() {
        if (uppercaseCount > 0) {
            gutil.log(gutil.colors.magenta('文件有大写,请修改重试~'));
            process.exit(1);
        }
    });
});

相关文章

  • gulp-检查文件大小写

    前提: 因为公司的静态资源保存在某云上,要求文件名不能包含大写字母,所以需要在前端的构建上进行文件检查。 工具: ...

  • Git大小写引发的祸事

    Git 默认是不对文件名 大小写检查的。 即 Test.java 你修改为 test.java Git不会去做更新...

  • 其他

    linux中文件区分大小写而windows中不区分,文件名采用小写或严格大小写

  • Linux学习-注意事项

    严格区分大小写 命令和文件名均区分大小写的 所有内容以文件形式保存,包括硬件 硬盘文件/dev/sd[a-p] 光...

  • linux基本命令

    linux系统文件和目录是以单根的倒置数来组织。"/"表示根。大小写:linux中的文件和目录严格区分大小写。分割...

  • git修改文件名大小写踩坑记录

    使用git的时候,有时我们需要修改文件名的大小写,但是默认情况下,git是会忽略文件名大小写的,如果我们要修改文件...

  • 遇到的一些坑的小记录

    windows和linux在文件系统上的差异,文件名大小写敏感的问题。众所周知,win32对文件名大小写不敏感,l...

  • react native 之注意关键字的大小写

    注意关键字的大小写 ,如backgroundColor引擎并不检查大小写,执行后也不报错, 只是不生效的哦,

  • Git 区分大小

    因为git是默认忽略大小写修改的,导致修改文件名大小写时,不会提交文件到仓库。 先输入 git config co...

  • linux常用命令

    1.文件内容查找 vi 查看文件 /FindBunkInfoController 从文件开始查询 分大小写 ?F...

网友评论

      本文标题:gulp-检查文件大小写

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