Node.js 吞咽条件句
对于如何在一个gulp文件中最好地设置条件,我有点困惑,需要一些澄清 我说的对吗,你不能在管道链中执行普通的if语句?如果可以的话,你会怎么打出来 现在我正在使用gulp if来做这样的事情:Node.js 吞咽条件句,node.js,conditional,gulp,conditional-statements,gulp-if,Node.js,Conditional,Gulp,Conditional Statements,Gulp If,对于如何在一个gulp文件中最好地设置条件,我有点困惑,需要一些澄清 我说的对吗,你不能在管道链中执行普通的if语句?如果可以的话,你会怎么打出来 现在我正在使用gulp if来做这样的事情: // Minify .pipe( gulpif(env === 'production', minifyCSS({keepSpecialComments:0,}) )) // Rename .pipe( gulpif(env === 'production', rename({suffi
// Minify
.pipe( gulpif(env === 'production',
minifyCSS({keepSpecialComments:0,})
))
// Rename
.pipe( gulpif(env === 'production',
rename({suffix: '.min'})
))
var minifyAndRenameCSS = lazypipe()
.pipe(minifyCSS({keepSpecialComments:0})
.pipe(rename({suffix: '.min'}));
gulp.task('build', function() {
return gulp.src('*.css')
.pipe(gulpif(env === 'production', minifyAndRenameCSS()))
});
但是,这两个块最好位于相同的if条件内。这可能吗?我无法让它工作。您可以使用缩小
和重命名
变换。应该是这样的:
// Minify
.pipe( gulpif(env === 'production',
minifyCSS({keepSpecialComments:0,})
))
// Rename
.pipe( gulpif(env === 'production',
rename({suffix: '.min'})
))
var minifyAndRenameCSS = lazypipe()
.pipe(minifyCSS({keepSpecialComments:0})
.pipe(rename({suffix: '.min'}));
gulp.task('build', function() {
return gulp.src('*.css')
.pipe(gulpif(env === 'production', minifyAndRenameCSS()))
});
基于
minifyandnamecss
应该是:
var minifyAndRenameCSS = lazypipe()
.pipe(minifyCSS, {keepSpecialComments: 0})
.pipe(rename, {suffix: '.min'});
管道内部不应该有任何函数调用。如果函数需要一些参数,则用逗号将它们分开(即.pipe(myFunc,arg1,arg2)
)
也许你现在已经得到了正确的答案,我只是分享一下,让其他观众知道