【发布时间】:2020-04-21 12:45:39
【问题描述】:
我有一个看起来像这样的 gulp 任务:
return src(['storage/framework/views/*.php'])
.pipe(htmlmin({
collapseWhitespace: true,
}))
.pipe(dest('storage/framework/views'));
它从 Laravel 获取编译后的视图,并通过 htmlmin 管道它们。
这适用于 HTML 视图,但它会破坏 Markdown 视图的内容。
很遗憾,我无法在 src([...]) 中添加排除项,因为文件名都是哈希值。如果文件包含mail::message,我需要能够检查文件的内容并排除该文件。
尝试自己解决这个问题,有gulp-contains,但似乎只有在文件包含给定字符串时才能抛出错误。我想不出一种方法来使用它的回调来排除文件。
还有gulp-ignore,但似乎无法将单个文件排除在流之外。
假设有三个模板文件,其中y.php 是一个 Markdown 模板。理想的解决方案是这样的:
return src(['storage/framework/views/*.php']) // [x.php, y.php, z.php]
.pipe(exclude_files_containing('mail::message')) // [x.php, z.php]
.pipe(htmlmin({
collapseWhitespace: true,
}))
.pipe(dest('storage/framework/views'));
【问题讨论】: