Несколько потоков внутри одного вызова gulp-if?
В приведенном ниже коде я делаю plugins.if(
!config.isDevelopmentMode && config.compileBladeTemplates, /* task */)
проверьте дважды (plugins.if является пакетом gulp-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')`
)
))
// ...
1 ответ
Если я понимаю, что вы пытаетесь сделать, я думаю, что для вас подойдет 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()))