Javascript gulp useref从管道中删除文件

Javascript gulp useref从管道中删除文件,javascript,node.js,gulp,Javascript,Node.js,Gulp,有没有办法不输出gulp.src文件?我的目标是只绑定javascript和output.js,而不是html 在base.html中,以下块用于将Javascript与gulp useref绑定: <!-- build:js app.core.js --> <script src="{{ STATIC_URL }}etherflex/js/vendor/conditionizr_4.5.1.js"></script> <script src="{{ S

有没有办法不输出gulp.src文件?我的目标是只绑定javascript和output.js,而不是html

base.html
中,以下块用于将Javascript与gulp useref绑定:

<!-- build:js app.core.js -->
<script src="{{ STATIC_URL }}etherflex/js/vendor/conditionizr_4.5.1.js"></script>
<script src="{{ STATIC_URL }}etherflex/js/app/conditionizr.detects.js"></script>
<script src="{{ STATIC_URL }}etherflex/js/app/conditionizr.config.js"></script>
<script src="{{ STATIC_URL }}etherflex/js/vendor/mootools-core_1.4.5.js"></script>
<!-- endbuild -->

吞咽任务

var gulp = require('gulp');
var notify = require('gulp-notify');
var changed = require('gulp-changed');
var plumber = require('gulp-plumber');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var gzip = require('gulp-gzip');
var useref = require('gulp-useref');
var gulpif = require('gulp-if');

module.exports = function (path) {
    return gulp.src('templates/**/*.html')
        .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")}))
        .pipe(useref({
            searchPath: path.source,
            transformPath: function(filePath) {
                return filePath.replace('{{ STATIC_URL }}/','')
            }
        }))
        .pipe(changed(path.build + 'js'))
        .pipe(gulpif('*.js', uglify()))
        .pipe(rename({
            suffix: ".min",
        }))
        .pipe(gulp.dest(path.build + 'js'))
        .pipe(notify("Javascript concatenated, minified and gzip compressed: <%= file.relative %>"))
        .pipe(gzip())
        .pipe(gulp.dest(path.build + 'js'));
};
var gulp=require('gulp');
var notify=需要('gulp-notify');
var变更=要求('gulp-changed');
var管道工=需要(“大口管道工”);
var-uglify=需要('gulp-uglify');
var rename=require('gulp-rename');
var gzip=require('gulp-gzip');
var useref=require('gulp-useref');
var gulpif=需要('gulp-if');
module.exports=函数(路径){
返回gulp.src('templates/***.html')
.pipe(水管工({errorHandler:notify.onError(“错误:)}))
.pipe(useref({
searchPath:path.source,
transformPath:函数(文件路径){
返回filePath.replace(“{{STATIC_URL}}/”,“”)
}
}))
.pipe(已更改(path.build+'js'))
.pipe(gulpif('*.js',uglify())
.管道(重命名)({
后缀:“.min”,
}))
.pipe(gulp.dest(path.build+js'))
.pipe(notify(“Javascript连接、缩小和gzip压缩:”)
.pipe(gzip())
.pipe(gulp.dest(path.build+js');
};
目标只是读取base.html中的块注释,并输出绑定的javascript
app.core.js


有什么建议吗?

要扩展我的评论,您只需使用
gulp if
来过滤流中的
gulp.dest

.pipe(gulpif('*.js', gulp.dest(path.build + 'js')))

您总是可以在
gulp.dest
前面加上
gulpif
,例如
.pipe(gulpif('*.js',gulp.dest(path.build+'js'))
Duh。我没想到。万分感谢,我为此挣扎了好几个小时。我连最简单的解决办法都没想到!谢谢你,菲尔。非常简单和完美的解决方案。我不知道
是否有这么多用途。确实是一个强大的插件。@nfq您还可以将它与lazypipe结合起来进行一些非常复杂的流操作