Gulpfile没有看scss

时间:2014-09-28 23:03:04

标签: javascript node.js assets gulp gulp-watch

我有一个简单的gulpfile,它从json文件加载一个javascript对象(根据环境获取路径),编译我的scss文件,将它们移动到我的公共目录,还将任何javascript文件移动到公共目录。 / p>

所以我的资产在/ app / Http / assets / js和scss中 编译并移动到/ public / assets / js和css

这是我的gulpfile.js:

var gulp = require('gulp');
var gutil = require('gulp-util');
var notify = require('gulp-notify');
var sass = require('gulp-sass');
var autoprefix = require('gulp-autoprefixer');

// Load the application config
var config = require('./env.config.json');

// Where do you store your Sass files?
var sassDir = 'app/Http/Assets/scss';

// Which directory should Sass compile to?
var targetCSSDir = config.assets_path + '/css';

// Where do you store your CoffeeScript files?
var jsDir = 'app/Http/Assets/js';

// Which directory should CoffeeScript compile to?
var targetJSDir = config.assets_path + '/js';

/** Tasks **/
// Compile Sass, autoprefix CSS3, and save to target CSS directory
gulp.task('css', function () {
    return gulp.src(sassDir + '/**/*.scss')
        .pipe(sass())
        .pipe(autoprefix('last 10 version'))
        .pipe(gulp.dest(targetCSSDir))
        .pipe(notify('CSS minified'))
});

// Move Javascript
gulp.task('js', function () {
    return gulp.src(jsDir + '/**/*.js')
        .pipe(gulp.dest(targetJSDir))
});

// Keep an eye on Sass and Javascript files for changes...
gulp.task('watch', function () {
    gulp.watch(sassDir + '/**/*.scss', ['css']);
    gulp.watch(jsDir + '/**/*.js', ['js']);
});

// What tasks does running gulp trigger?
gulp.task('default', ['css', 'js', 'watch']);

这对我的javascript工作正常。此外,当我第一次运行“gulp”时,它会编译我的所有scss文件并相应地移动它们。但是,监视任务不适用于我的scss文件。它适用于javascript文件。真正奇怪的是(对我而言)当我将scss源更改为特定文件时,手表会起作用。所以,

gulp.task('css', function () {
return gulp.src(sassDir + '/**/app.scss')
    .pipe(sass())
// and the rest is the same

会观察并编译我的app.scss文件的任何更改,但显然不会对任何其他scss文件。

我尽我所能重新安排和谷歌搜索。我不明白为什么它不能用于观看scss。

编辑:奇怪的是,似乎是通知破坏了css观察者。当我这样评论时:

gulp.task('css', function () {
    return gulp.src(sassDir + '/**/*.scss')
        .pipe(sass())
        .pipe(autoprefix('last 10 version'))
        .pipe(gulp.dest(targetCSSDir))
        //.pipe(notify('CSS minified'))
});

一切都按预期工作。

提前致谢。

0 个答案:

没有答案