Gulp没有编译@import sass文件

时间:2016-04-01 16:00:07

标签: sass gulp

我试图让Gulp编译我的sass文件。它看到main.sass文件中的更改,但是如果我@import文件它没有看到它们的更改,除非我重新启动gulp。

这是我的gulpfile

var gulp = require('gulp'),
      sass = require('gulp-ruby-sass'),
      autoprefixer = require('gulp-autoprefixer'),
      browserSync = require('browser-sync').create(),
      jade = require('gulp-jade');

gulp.task('browser-sync', function() {
    browserSync.init({
        server: {
            baseDir:'./'
        }
    });
});

// Compiling SASS to CSS 
gulp.task('styles', function () {
  return sass('assets/sass/main.sass')
    .on('error', sass.logError)
  .pipe(autoprefixer({
    browsers: ['last 3 versions','> 5%'],
    cascade: false
  }))
    .pipe(gulp.dest('assets/css/'))
    .pipe(browserSync.stream());

});
//HTML 
gulp.task('templates', function() {
  var YOUR_LOCALS = {};

  gulp.src('./*.jade')
    .pipe(jade({
      locals: YOUR_LOCALS,
      pretty: true
    }))
    .pipe(gulp.dest('./'))
});

//Default task
gulp.task('default', ['styles', 'watch', 'browser-sync', 'templates']);

gulp.task('watch', function(){
    gulp.watch('*.html').on('change', browserSync.reload);
    gulp.watch('*.jade').on('change', browserSync.reload);
    gulp.watch('*.css').on('change', browserSync.reload);
    gulp.watch('assets/sass/main.sass', ['styles']);
    gulp.watch('*.jade', ['templates']);
}) 

这些是我项目的结构 enter image description here

1 个答案:

答案 0 :(得分:2)

您只关注cols = paste0('V', 1:12) DT1[DT2, (cols) := setDT(mget(cols)) + mget(paste0('i.', cols))] DT1 # loc product V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 #1: L1 P1 10 10 10 10 10 10 10 10 10 10 10 10 #2: L2 P2 11 13 15 17 19 21 23 25 27 29 31 33 #3: L3 P1 12 14 16 18 20 22 24 26 28 30 32 34 的更改。您需要关注assets/sass/main.sass下面任何.sass文件的更改:

assets/sass

而不是:

gulp.watch('assets/sass/**/*.sass', ['styles']);