Я пытаюсь настроить gulp и наблюдать за изменением файлов, а затем перезагружаю browserSync. Изменение файла main.sass работает нормально, но при импорте в файлы main.sass, которые изменяются, gulp его не видит. То же самое происходит с мопсом, модифицирующие включения скрыты для gulp-watch.
Что я пробовал:
includePaths в некотором роде
попытался записать в gulp.src () путь как 'desktop / css / ** / *. sass', но это привело к тому, что импортированные модули были скомпилированы в отдельный файл, что является неправильным поведением (к сожалению, не так, как я ожидал).
Мои импортированные файлы находятся в desktop/css/modules/*.sass
, входной файл sass (main.sass) находится в desktop/css/main.sass
Мой файл gulpfile
import gulp from 'gulp'
import sass from 'gulp-sass'
import autoprefixer from 'gulp-autoprefixer'
import cleanCSS from 'gulp-clean-css'
import pug from 'gulp-pug'
import pump from 'pump'
import browserSync from 'browser-sync'
const browserSyncServer = browserSync.create()
gulp.task('desktop-styles', () => {
gulp.src('desktop/css/*.sass')
.pipe(sass({ includePaths: ['desktop/css/modules'] }))
.pipe(autoprefixer())
.pipe(cleanCSS())
.pipe(gulp.dest('desktop/build/css'))
.pipe(browserSyncServer.stream())
})
gulp.task('desktop-html', () => {
gulp.src('desktop/templates/*.pug')
.pipe(pug())
.pipe(gulp.dest('desktop/build'))
.pipe(browserSyncServer.stream())
})
gulp.task('desktop', ['desktop-html', 'desktop-styles'], () => {
browserSyncServer.init({
server: "./desktop/build"
})
gulp.watch('desktop/templates/*.pug', ['desktop-html']).on('change', (e) => {
console.log(` HTML File ${e.path} has been ${e.type}`)
})
gulp.watch('desktop/css/*.sass', ['desktop-styles']).on('change', (e) => {
console.log(` CSS File ${e.path} has been ${e.type}`)
})
})