Gulp не следит за импортированными модулями sass

Я пытаюсь настроить gulp и наблюдать за изменением файлов, а затем перезагружаю browserSync. Изменение файла main.sass работает нормально, но при импорте в файлы main.sass, которые изменяются, gulp его не видит. То же самое происходит с мопсом, модифицирующие включения скрыты для gulp-watch.

Что я пробовал:

  1. includePaths в некотором роде

  2. попытался записать в 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}`)
  })
}) 

person zaebalo    schedule 20.06.2017    source источник


Ответы (1)


К сожалению, проблема была в методе просмотра: я смотрел только файлы .sass в папке desktop / css, где находится только файл main.sass. То же и с мопсом. Надеюсь, это кому-то поможет.

person zaebalo    schedule 20.06.2017