Node.js 吞咽条件句

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

对于如何在一个gulp文件中最好地设置条件,我有点困惑,需要一些澄清

我说的对吗,你不能在管道链中执行普通的if语句?如果可以的话,你会怎么打出来

现在我正在使用gulp 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()))
});
但是,这两个块最好位于相同的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)

也许你现在已经得到了正确的答案,我只是分享一下,让其他观众知道