Нужно сделать замену в финальном CSS по шаблону, который лежит в файле settings-default.json, пишу вот такой конфиг:
gulp.task( 'admin.css', () => {
return gulp.src( [ 'framework/assets/scss/admin.scss', 'framework/blocks/*.scss' ] )
.pipe( plumber() )
.pipe( sassglob() )
.pipe( sass() )
.pipe( concat( 'admin.min.css' ) )
.pipe( cssnano() )
.pipe( replace( '/здесь регулярка/', () => {
fs.readFile( 'settings-default.json', 'utf8', ( err, data ) => {
if ( err ) {
throw err;
}
//здесь берём данные из файла и делаем замену
console.log( data ); //почему консоль лог срабатывает 4 раза?
} );
return //возвращаем результат для каждой замены;
} ) )
.pipe( gulp.dest( 'framework/assets/css' ) );
} );
В общем меня смущает то, что консоль лог срабатывает 4 раза, т.е. чтение из файла происходит 4 раза, а нужно чтобы оно происходило ровно 1 раз после конкатенации всех css в один admin.min.css. Как это сделать?