首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果内容包含字符串,则从Gulp流中排除文件

是指在使用Gulp构建工具进行前端开发时,需要从文件流中排除包含特定字符串的文件。这通常用于过滤掉不需要处理的文件,以提高构建效率和减少资源浪费。

在Gulp中,可以使用gulp-if插件结合gulp-filter插件来实现从流中排除文件的操作。首先,需要安装这两个插件:

代码语言:txt
复制
npm install gulp-if gulp-filter --save-dev

然后,在Gulpfile.js中引入这两个插件:

代码语言:txt
复制
const gulp = require('gulp');
const gulpIf = require('gulp-if');
const filter = require('gulp-filter');

接下来,可以使用gulp-filter创建一个过滤器,并使用gulpIf结合过滤器来排除包含特定字符串的文件。例如,如果要排除包含字符串"exclude"的文件,可以按以下方式编写任务:

代码语言:txt
复制
gulp.task('excludeFiles', function() {
  const excludeFilter = filter(['**/*', '!**/*exclude*'], { restore: true });

  return gulp.src('src/**/*')
    .pipe(excludeFilter)
    .pipe(gulpIf('**/*exclude*', excludeFilter.restore))
    .pipe(gulp.dest('dist'));
});

上述代码中,首先使用gulp-filter创建一个过滤器excludeFilter,其中包含了需要排除的文件规则。然后,使用gulpIf结合过滤器来判断文件是否包含特定字符串,如果是,则通过excludeFilter.restore将文件重新加入流中,否则将文件排除。最后,将处理后的文件输出到dist目录中。

这样,运行excludeFiles任务时,Gulp会从src目录中读取所有文件,并根据过滤器的规则排除包含字符串"exclude"的文件,最终将处理后的文件输出到dist目录中。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云数据库 MySQL 版(CDB):https://cloud.tencent.com/product/cdb
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云移动应用开发(MAD):https://cloud.tencent.com/product/mad
  • 腾讯云云存储(CFS):https://cloud.tencent.com/product/cfs
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云腾讯会议:https://cloud.tencent.com/product/tencentmeeting

以上是腾讯云提供的一些与云计算相关的产品,可以根据具体需求选择适合的产品进行开发和部署。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Gulp 快速入门

什么是 gulp 简单的讲,gulp 是一个构建工具,一个基于的构建工具,一个 nodejs 写的构建工具,使用 gulp 的目的就是为了自动化构建,提高程序员工作效率。...gulp.src() 在上面的例子gulp.src() 函数用字符串匹配一个文件或者文件的编号(被称为“glob”),然后创建一个对象流来代表这些文件,接着传递给 uglify() 函数,它接受文件对象之后返回有新压缩源文件文件对象...js/app.js 从匹配结果中排除 js/app.js,这种方法在你想要匹配除了特殊文件之外的所有文件时非常好用 *....+(js|css) 匹配根目录下所有后缀为 .js 或者 .css 的文件 假如 js 目录下包含了压缩和未压缩的 JavaScript 文件,现在我们想要创建一个任务来压缩还没有被压缩的文件,我们需要先匹配目录下所有的...JavaScript 文件,然后排除后缀为 .min.js 的文件: gulp.src(['js/**/*.js', '!

82110

gulp 详解与使用

下面详细介绍一下: gulp.src() gulp.src() 可以读取你需要操作的文件,相比于 Grunt 主要以文件为媒介来运行它的工作gulp 使用的是 Nodejs 的 stream ,...首先获取到需要的 stream ,然后可以通过 stream 的 pipe() 方法把导入到你想要的地方,比如 gulp 的插件,经过插件处理后的又可以继续导入到其他插件,当然也可以把写入到文件...再回到正题上来,gulp.src() 方法正是用来获取的,但要注意这个里的内容不是原始的文件,而是一个虚拟文件对象(Vinyl files),这个虚拟文件对象存储着原始文件的路径、文件名、内容等信息...即是排除模式,它会在匹配的结果中排除这个匹配,要注意一点的是不能在数组的第一个元素中使用排除模式 gulp.src([*.js,'!...b*.js',*.js]) //不会排除任何文件,因为排除模式不能出现在数组的第一个元素 此外,还可以使用展开模式。

1.2K10
  • Gulp开发教程(翻译)

    假设js目录下有个app.js文件,那么一个新的app.js将被创建在编译目录下,它包含了js/app.js的压缩内容。想一想,到底发生了什么? 我们只在gulpfile.js里做了一点事情。...在上面的例子gulp.src()函数用字符串匹配一个文件或者文件的编号(被称为“glob”),然后创建一个对象流来代表这些文件,接着传递给uglify()函数,它接受文件对象之后返回有新压缩源文件文件对象...Grunt不使用数据,而是使用文件,对文件执行单个任务然后保存到新的文件,每个任务都会重复执行所有进程,文件系统频繁的处理任务会导致Grunt的运行速度比Gulp慢。...GULP.SRC() gulp.src()方法输入一个glob(比如匹配一个或多个文件字符串)或者glob数组,然后返回一个可以传递给插件的数据。...js目录下包含了压缩和未压缩的JavaScript文件,现在我们想要创建一个任务来压缩还没有被压缩的文件,我们需要先匹配目录下所有的JavaScript文件,然后排除后缀为.min.js的文件: gulp.src

    86540

    前端构建工具gulpjs的使用介绍及技巧

    Grunt主要是以文件为媒介来运行它的工作的,比如在Grunt执行完一项任务后,会把结果写入到一个临时文件,然后可以在这个临时文件内容的基础上执行其它任务,执行完成后又把结果写入到临时文件,然后又以这个为基础继续执行其它任务...再回到正题上来,gulp.src()方法正是用来获取的,但要注意这个里的内容不是原始的文件,而是一个虚拟文件对象(Vinyl files),这个虚拟文件对象存储着原始文件的路径、文件名、内容等信息...b*.js',*.js]) //不会排除任何文件,因为排除模式不能出现在数组的第一个元素 此外,还可以使用展开模式。...()gulp.dest()方法则把内容写入到文件,这里首先需要弄清楚的一点是,我们给gulp.dest()传入的路径参数,只能用来指定要生成的文件的目录,而不能指定生成文件文件名,它生成文件文件名使用的是导入到它的文件自身的文件名...用gulp.dest()方法写入文件时,文件名使用的是文件文件名,如果要想改变文件名,那可以在之前用gulp-rename插件来改变文件文件名。

    1.9K30

    gulp入门(小白级别)

    (),首先获取到需要的stream,然后可以通过stream的pipe()方法把导入到你想要的地方,比如Gulp的插件,经过插件处理后的又可以继续导入到其他插件,当然也可以把写入到文件。...而gulp.src()方法正是用来获取的,但要注意这个里的内容不是原始的文件,而是一个虚拟文件对象(Vinyl files),这个虚拟文件对象存储着原始文件的路径、文件名、内容等信息。...b*.js', '*.js']) //不会排除任何文件,因为排除模式不能出现在数组的第一个元素 展开模式 展开模式以花括号作为定界符,根据它里面的内容,会展开为多个模式,最后匹配的结果为所有展开的模式相加起来得到的结果...gulp.dest()gulp.dest()方法则把内容写入到文件。...前面提到的gulp.dest()方法写入文件时,文件名使用的是文件文件名,如果想要改变文件名,就需要用gulp-rename插件来改变文件文件名。

    1.3K20

    使用Gulp进行JavaScript自动化简易说明书

    2.gulp.src(globs[, options]) 执行任务处理的文件  globs:处理的文件路径(字符串或者字符串数组) 3.gulp.dest(path[, options]) 处理完后文件生成路径...另一方面,如果你是开发人员,你一旦了解其背后的逻辑,就可以轻易地完成它。 Gulp是一个构建工具, 利用 Node.js 实现自动化异步源( source-destination )。...gulpfile.js gulp项目的配置文件。它包含从任务(tasks)到Watchers或任务使用的其他代码片段的所有内容。...如果文件内容连接在一起,也可以是单个文件名。 为了进一步改进此过程自动化实现,您可以尝试添加一些其他Gulp插件。...第一个表示包括在子文件夹在内所有文件以“.scss”结尾的文件,第二个表示排除以“_”开头的文件。。这样我们可以使用SCSS的内置函数@import来连接_page.scss文件

    3.2K10

    ASP.NET Core 的捆绑和缩小静态资产

    ASP.NET Core 的捆绑和缩小静态资产 ASP.NET Core 的捆绑和缩小静态资产 什么是捆绑和缩小 捆绑 缩小 捆绑和缩小的影响 选择捆绑和缩小策略 配置捆绑和缩小 向工作添加文件...向工作添加文件 假设添加了额外的 custom.css 文件,类似于以下内容: .about, [role=main], [role=complementary] { margin-top:...(*.min).css" ] 此通配模式匹配所有 CSS 文件,并排除缩小的文件模式。 生成应用程序。 打开 site.min.css 并注意 custom.css 的内容将追加到文件末尾 。...基于环境的捆绑和缩小 最佳做法是,应在生产环境中使用应用的捆绑文件和缩小文件。 在开发过程,原始文件可简化应用的调试。 使用视图中的环境标记帮助程序指定要包含在页面文件。...手动转换捆绑和缩小工作以使用 Gulp 将 package.json 文件包含以下 devDependencies)添加到项目根: 警告 gulp-uglify 模块不支持 ECMAScript

    4K20

    Gulp探究折腾之路(I)

    相比于grunt的频繁 IO 操作,gulp操作,能更快地更便捷地完成构建工作。此处仅记录初步折腾中所遇点滴以及待解决的点。...js/app.js 从匹配结果中排除js/app.js,这种方法在你想要匹配除了特殊文件之外的所有文件时非常管用 *....js目录下包含了压缩和未压缩的JavaScript文件,现在我们想要创建一个任务来压缩还没有被压缩的文件,我们需要先匹配目录下所有的JavaScript文件,然后排除后缀为.min.js的文件: gulp.src...('build')); }); 上面代码假设package.json文件包含以下内容。...,OK既然用了构建工具,那么自然也有对应的插件吧,果然 gulp-tpl2mod~模板文件转js插件;再借助require.js, 先使用gulp-tpl2mod把模板转换成js字符串,然后包装成一个模块

    1.8K80

    ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V

    在解决方案管理器,可以看到项目的目录结构,Src文件包含一个空的wwwroot和dependencies节点 ?...如果需要的话,你要可以通过右键单击dependences下的NPM,选择Restore Packages按钮恢复这些包 配置Grunt Grunt使用名为gruntfile.js的文件清单进行配置、加载和注册任务...NPM 包的不同 与grunt一样,gulp定义也在ackage.json文件的devDependencies属性内容如下文所示,你也可以通过只能提示来更新到最近的版本号。...= require('gulp-watch'); 在赋值语句下方,调用gulp的task方法,第一个参数是任务的名字的字符串表示方式,第二个参数是一个回调方法 gulp.task('default'...是一个包含src、pipe和dest方法的流式对象 src()方法用来定义从哪里来 pipe()方法定义怎么重写 dest()方法定义的输出 代码通常的模式如下文所示 gulp.src()

    3K70

    给初学者的Gulp教程(译)

    如果你想了解更多,你可以查看这篇文章,这一篇,或者这篇。brunch式一个相似的工具,聚焦于资源文件以及它捆绑在一些常用的任务上,像服务器和文件监视器。 最主要的区别是你如何使用他们配置工作。...现在让我们继续向前,以及学习如何使用Gulp配置一个工作 我们要配置什么 在看完这篇文章后,你将拥有一个工作,来进行我们文章开始所说的一些任务: 生成一个Web服务器 当一个文件保存时,浏览器自动刷新...一旦包被找到,我们就将它里面内容赋值到变量gulp。 我们现在可以开始使用gulp变量写一个gulp任务。...如果特征存在,文件就会被匹配。 大部分Gulp工作倾向于只要求4个不同的匹配模式。 1.*.scss:*特征是一个通配符,用来匹配当前路径的一些特征文件。...表明,Gulp应该排除这个匹配的特征,当你要在匹配的文件排除一个文件,是非常有用的。倘若这样,not-me.scss将被排除出匹配。 4.*.

    4.3K20

    Gulp使用指南

    了解 了解 gulp 前端自动化打包构建工具 => 打包: 把文件压缩, 整合, 移动, 混淆 了解一下前端的打包构建工具 gulp: 基于的打包构建工具 webpack: 基于 js 文件的打包构建工具...什么是 文件: => 一种文件传输的格式 => 一段一段的文件传输 格式: => 从头到尾的一个过程 => 需要从 源 开始一步一步经过加工 -> 每一个步骤需要依赖上一步的结果...-> 最终给出一个完整的成品 gulp 是基于格式的一种打包构建工具 gulp 的依赖环境 依赖于 node 环境进行开发 底层封装的内容就是 node 里面的读写文件 gulp 的作用 对于 css...再 gulpfile.js 里面书写配置文件 + 书写你该项目的打包流程 + 书写完毕以后, 按照打包流程去执行 gulp 指令运行 gulpfile.js 文件 源码和打包以后的内容...css 和 js -> 也可以不包含 => 当我压缩 html 的时候 -> 能再固定位置把我写好的 html 片段引入进来 + 组件 => 一段可以包含(

    93010

    一篇文章弄明白Node.js与二进制数据

    例如,我要创建一个内容字符串 "20" 的 Buffer,而错误的传入了数字 20,结果创建了一个长度为 20 的Buffer 实例。 ?...更多关于编码的细节不再赘述,也不是本文的重点,如果想了解更多可自行搜索。 乱码的原因 我们经常会出现一些乱码的情况,就是因为在字符串与 Buffer 的转化过程,使用了不同编码导致的。...ls | grep code 这里使用 ls 列出当前目录的文件,然后交由 grep 查找包含 code 关键词的文件。...在前端的构建工具 gulp 也用到了管道的概念,因为使用了管道的方式来进行构建,大大简化了工作,用户量一下子就超越了 grunt。...暂停模式:此时的数据不会被消耗,如果在暂停模式需要读取可读的数据,需要显式调用stram.read()。

    3.4K30

    Gulp使用指南

    把目录切换到你的项目文件,然后在命令行执行: npm install gulp   如果想在安装的时候把gulp写进项目package.json文件的依赖,则可以加上--save-dev: npm...,当然也可以把写入到文件。...gulp的使用流程一般是:首先通过gulp.src()方法获取到想要处理的文件,然后把文件流通过pipe方法导入到gulp的插件,最后把经过插件处理后的再通过pipe方法导入到gulp.dest(...)gulp.dest()方法则把内容写入到文件。...()方法正是用来获取的,但要注意这个里的内容不是原始的文件,而是一个虚拟文件对象(Vinyl files),这个虚拟文件对象存储着原始文件的路径、文件名、内容等信息。

    1.3K60

    JGulp: 利用Gulp 配置的前端项目自动化工作

    JGulp JGulp 是本人利用Gulp 配置的适合自己的一个前端项目自动化工作,目前正在实践运用(通俗说用得还挺爽)。如果你有需要,可以参考本工作量构建适合自己的工作。...JGulp 包含的功能模块(插件) 小标题含义:功能(对应的Gulp 插件) Compass(gulp-compass) 一个Sass 框架,本工作量主要是Compass + Sass,因此熟悉这两者是使用本工作的基础条件...默认的 Gulp 任务在执行过程如果出错会报错并立即停止当前工作(如在 watch Sass编译时候恰巧 Sass代码写错了)。使用plumber 模块可以在纠正错误后继续执行任务。...,所以本工作不涉及CSS 压缩等其他功能模块(因为这些功能Compass 本身已经包含)。...4、然后捏,就基本上可以的了,默认任务: $ gulp 5、如果项目已经完成,可以通过build 命令进行项目相关文件收集,项目文件最终会汇集到项目目录下的build 文件夹中方面进一步操作 $ gulp

    1.1K100

    VSCode高效开发工作流配置指南

    (该BUG已在2.4.0正式版修复) 2.3 修改IDE的关联 如果开发者不小心选择错误的目录或者可执行文件,保存后,点击LayaAirIDE左侧的编辑模式按钮,那就会直接打开错误的路径。...launch.json的,直接在.vscode目录创建一个空文件launch.json,将上面的内容复制过去也是可以的。...比如排除,发布配置等信息,需要发布一次后,才会更新保存到对应的平台json配置如果对平台发布功能不熟悉的,可以打开之前提供的官网文档链接。...6.2 编写gulp任务脚本 我们在根目录创建一个gulpfile.js脚本文件,脚本内容参照如下: const {watch ,task }= require("gulp"); const {exec...当然,VSCode自定义工作的强大远不止于此,对于工作的搭建,方式非常多。如果想更加深入了解的,可以不必局限于本篇。本篇仅仅为那些没有VSCode使用经验的开发者,提供一些基础的工作搭建参照。

    2.3K30

    Gulp能做什么

    gulp文件 在项目根目录下建立gulpfile.js文件 重构项目的文件夹结构 src目录放置源代码文件 dist目录放置构建后文件 在gulpfile.js文件编写任务....在命令行工具执行gulp任务 (8)Gulp中提供的方法 gulp.src():获取任务要处理的文件 gulp.dest():输出文件 gulp.task():建立gulp任务 gulp.watch(...文件的公共代码 gulp.task('htmlmin', () => { gulp.src('....pipe方法只负责返回这个管道结构(Stream对象) 楼主想要窥探管道里的内容,就要创建一个Stream对象,在Stream对象接收结果的方法里把里的内容log出来即可 Stream与File...gulp-babel :JavaScript语法转化 gulp-less: less语法转化 gulp-uglify :压缩混淆JavaScript gulp-file-include 公共文件包含

    1.3K30

    web面试题及答案_前端html面试题

    2、高效:Gulp相比Grunt更有设计感,核心设计基于Unix的概念,通过管道连接,不需要写中间文件。...4、易学:Gulp的核心API只有5个,掌握了5个API就学会了Gulp,之后便可以通过管道组合自己想要的任务。...5、:使用Grunt的I/O过程中会产生一些中间态的临时文件,一些任务生成临时文件,其它任务可能会基于临时文件再做处理并生成最终的构建后文件。...而使用Gulp的优势就是利用的方式进行文件的处理,通过管道将多个任务和操作连接起来,因此只有一次I/O的过程,流程更清晰,更纯粹。...此时如果版本描述文件(npm-shrinkwrap.json 或 package-lock.json)中有该模块信息直接拿即可,如果没有则从仓库获取。

    62020

    gulp 的运作方式分析

    肯定是路径和内容吧”,它主要记录的信息有: path:文件路径 contents:文件内容 cwd:程序执行的目录 base:用 glob 寻找文件时开始的目录,例如 src/**/*.js,那 base...,在 Node.js 的 stream 也有一个对象模式,如果传的数据不是缓冲区或就应该设置为对象模式,而对象模式跟一般的模式主要的区别就是不需要处理字符集编码。...,gulp 用 stream 的对象模式在传输这些文件,plugin 其实上就是回传一个 Transform 的 stream(Node.js stream 的一种,stream 的种类有 Readable...、Writeable、Duplex、Transform)来转换这些文件,比下面是一个把文件内容都换成大写的: const { Transform } = require('stream') exports.uppercase...// 设置为 object mode objectMode: true, transform(file, _enc, cb) { // 把文件内容转换成为字符串

    47410
    领券