【问题标题】:Multiple streams inside single gulp-if calling?单个 gulp-if 调用中的多个流?
【发布时间】:2018-08-15 00:41:23
【问题描述】:

在下面的代码中,我对plugins.if( !config.isDevelopmentMode && config.compileBladeTemplates, /* task */) 做了两次检查(plugins.ifgulp-if 包)。我可以通过一次检查重构下面的代码吗?不确定仅使用 gulp-if 是否可行,因此允许使用其他插件。

const   gulp = require('gulp'),
        plugins = require('gulp-load-plugins')();

// ...
.pipe(plugins.if(
  !config.isDevelopmentMode && config.compileBladeTemplates,
  plugins.replace(
     /<!--\s+@blade\s+namedRoute\(\s*(.+?)\s*\)\s*-->\s*(?:\r\n|\r|\n)?\s*(<.+href=")(?:.+?)(".*\/?>)/g,
     `$2{{ route('$1') }}$3`
  )
))
.pipe(plugins.if(
  !config.isDevelopmentMode && config.compileBladeTemplates,
  plugins.replace(
     /<!--\s+@blade\s+(yield|include)\s*-->/g,
     ` @$1('$2')`
  )
))
// ...

【问题讨论】:

    标签: javascript node.js gulp gulp-if


    【解决方案1】:

    如果我了解您要做什么,我认为懒惰的管道会为您工作。见gulp-if with lazypipe

    var replaceChannel = lazypipe()
          plugins.replace(
         /<!--\s+@blade\s+namedRoute\(\s*(.+?)\s*\)\s*-->\s*(?:\r\n|\r|\n)?\s*(<.+href=")(?:.+?)(".*\/?>)/g,
         `$2{{ route('$1') }}$3`
        )
        plugins.replace(
         /<!--\s+@blade\s+(yield|include)\s*-->/g,
         ` @$1('$2')`
       );
    

    然后在你的任务中:

    .pipe(plugins.if(
      !config.isDevelopmentMode && config.compileBladeTemplates, replaceChannel()))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多