没有gulp-如果它工作正常:
gulp.task('css', function() {
return gulp.src([
// 'bower_components/bootstrap/dist/css/bootstrap.css',
'app/stylesheets/main.less',
])
.pipe(less({
strictMath: true,
strictUnits: true,
}))
.pipe(concat('all.css', {newLine: '\n'}))
.pipe(prefixer('> 1%'))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
Run Code Online (Sandbox Code Playgroud)
但是当我添加gulp-if到混合中时,gulpif管道返回到主流时不会返回任何内容:
gulp.task('css', function() {
return gulp.src([
'bower_components/bootstrap/dist/css/bootstrap.css',
'app/stylesheets/main.less',
])
.pipe(gulpif(/\.less$/,less({
strictMath: true,
strictUnits: true,
})))
.pipe(concat('all.css', {newLine: '\n'}))
.pipe(prefixer('> 1%'))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
Run Code Online (Sandbox Code Playgroud)
这是为什么?我究竟做错了什么?如果我在gulp-if源代码中添加一些日志,我可以看到条件正在传递.
Nic*_*oll 12
我想你可能想要使用gulp-filter:https://www.npmjs.org/package/gulp-filter
gulp.task('css', function() {
var lessFilter = gulpFilter('**/*.less', {restore: true})
return gulp.src([
'bower_components/bootstrap/dist/css/bootstrap.css',
'app/stylesheets/main.less',
])
.pipe(lessFilter)
.pipe(less({
strictMath: true,
strictUnits: true,
}))
.pipe(lessFilter.restore)
.pipe(concat('all.css', {newLine: '\n'}))
.pipe(prefixer('> 1%'))
.pipe(minifyCss())
.pipe(gulp.dest('public/css'));
});
Run Code Online (Sandbox Code Playgroud)
这将创建一个过滤流,restore()并将恢复流.gulpIf有条件地处理整个流而不仅仅是匹配文件.
gulp.src('src/**/*.js', function () {
.pipe(gulpIf(isProduction, concat('all.js')))
.pipe(gulp.dest('dest/')
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13976 次 |
| 最近记录: |