有没有办法不输出gulp.src文件?我的目标是仅捆绑javascript并仅输出.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 -->
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中的阻止评论,然后输出捆绑的javascript app.core.js
。
有什么建议吗?
答案 0 :(得分:0)
要扩展我的评论,您只需使用gulp-if
过滤gulp.dest
的信息流。
.pipe(gulpif('*.js', gulp.dest(path.build + 'js')))