2017-06-20 58 views
0

我正在嘗試設置gulp並觀察文件更改,然後重新加載browserSync。修改main.sass文件工作正常,但在main.sass文件中導入修改後,gulp不會看到它。同樣碰巧帕格,修改包括隱藏的吞嚥手錶。Gulp不注意進口sass模塊

我已經試過什麼:

  1. 的includepaths在某些方面

  2. 試圖gulp.src寫()一樣。「桌面/ 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}`) 
    }) 
}) 

回答

0

哎呀,問題是在手錶的方法:我只看過。桌面/ css文件夾中的sass文件,其中只有main.sass文件。和帕格一樣。希望它能幫助別人。