Я пытаюсь получить доступ к файлам .scss и записать файлы .css в каталог за пределами моего проекта gulp.Я настраиваю тему WordPress под названием UnderStrap, которая поставляется вместе с gulpfile.
Возможно, это необычная настройка, но я пытаюсь создать 2 набора CSS-файлов, один для родительской темы и один длядочерняя тема, так что темы независимы друг от друга.
themes
├─ theme-parent
│ ├─ sass
│ ├─ css
│ └─ gulpfile.js
│
└─ theme-child
├─ sass (trying to access the .scss files here)
└─ css (trying to write the .css files here)
Это то, что у меня есть в моем файле gulpfile.Кажется, что gulp.watch может обнаружить изменения в файле за пределами проекта, но gulp.src и gulp.dest не работают.Я посмотрел базу и переименовал, но, похоже, тоже не работает.Это просто невозможно?
gulp.task('sass', function () {
var stream = gulp.src('./sass/*.scss')
.pipe(wait(500))
.pipe(plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sass())
.pipe(gulp.dest('./css'))
.pipe(rename('custom-editor-style.css'))
return stream;
});
gulp.task('sass-child', function () {
var stream = gulp.src('../theme-child/*.scss', {base: '.'})
.pipe(wait(500))
.pipe(plumber({
errorHandler: function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(sass())
.pipe(gulp.dest('../theme-child/css'))
.pipe(rename('custom-editor-style.css'))
return stream;
});
gulp.task('watch', function () {
gulp.watch('./sass/**/*.scss', ['styles']);
gulp.watch('../theme-child/_theme_child.scss', ['styles-child']);
gulp.watch([basePaths.dev + 'js/**/*.js','js/**/*.js','!js/theme.js','!js/theme.min.js'], ['scripts']);
gulp.watch('./img/**', ['imagemin'])
});
gulp.task('minify-css', function() {
return gulp.src('./css/theme.css')
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(cleanCSS({compatibility: '*'}))
.pipe(plumber({
errorHandler:
function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(rename({suffix: '.min'}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./css/'));
});
gulp.task('minify-css-child', function() {
return gulp.src('../theme-child/css/theme.css')
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(cleanCSS({compatibility: '*'}))
.pipe(plumber({
errorHandler:
function (err) {
console.log(err);
this.emit('end');
}
}))
.pipe(rename({suffix: '.min'}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('../theme-child/css/'));
});
gulp.task('styles', function(callback){ gulpSequence('sass', 'minify-css')(callback) });
gulp.task('styles-child', function(callback){ gulpSequence('sass-child', 'minify-css-child')(callback) });