javascript - gulp userref 从管道中删除文件

标签 javascript node.js gulp

有没有办法不输出gulp.src文件?我的目标是仅捆绑 javascript 并仅输出 .js,而不是 html。

base.html 中,以下 block 用于将 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 -->

gulp 任务

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'));
};

目标只是读取 base.html 中的 block 注释并输出捆绑的 javascript app.core.js

有什么建议吗?

最佳答案

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

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

关于javascript - gulp userref 从管道中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623794/

相关文章:

node.js - 在gulp-nodemon中设置端口有什么用?

javascript - gulp with gulp-ruby-sass : Error: . ./style.css.map:3:1: 未知词

javascript - 启动时打开 Karma debug.html 页面

javascript - 从字符串javascript中获取键值对

javascript - 将 div 框转换为热链接,而不覆盖它们已有的按钮 - JQuery

javascript - 是否可以创建一个 Canvas 来提取图像数据而不实际渲染 Canvas ?

node.js - Passport JWT 策略提取选项

javascript - 检查输入是否有焦点

javascript - 在 Node 中查找包含文件名的字符串的目录部分?

node.js - 使用 cradle 如何在 couchdb 中创建新数据库