2016-04-03 10 views
1

現在、プロジェクトをビルドし、Gulpをタスクランナーとして使用し、gulp-sassをSASSコンパイルエンジンとして使用しています。 問題は、main.scssファイルで間違ってコミットすると、ファイルの末尾にある他のフラグメント(下のコード)の行にすべてがうまくいって、意図通りにsassエラーが発生してしまいます。 )SASSエラーによる奇妙なガルプクラッシュ

[18:14:28] Starting 'sass'... 
[18:14:28] Finished 'sass' after 3.25 ms 
Error in plugin 'sass' 
Message: 
    src\sass\main.scss 
Error: Invalid CSS after " margin": expected "}", was ": 0;" 
     on line 37 of stdin 
>>  margin: 0; 
    ----^ 

しかし、それはライン65上のセミコロンのとき、全体の事はただの丸太せず、動作を停止し、私はそれを修正しない限り、TUだせを拒否します。(例)

[18:19:23] Starting 'sass'... 
[18:19:23] Finished 'sass' after 3.18 ms 

C:\test 

任意のアイデア何このエラーが発生しますか?私は最も明白な解決策が「騒がしいことは間違っている」と知っていますが、それでも解決したいと思います。

ノードバージョン5.9.1。
OS - Windows 10.
https://bitbucket.org/gentos/strangegulpbehaviourエラーを再現する必要がある場合は、厄介なサスとgulpfileファイルをミニプロジェクトに配置しました。
お時間をいただきありがとうございます。

このコードは、私のメインのgulpファイルの最後に置かれ、記述された動作を引き起こしました。無関心の残りの部分を削除しました。

nav{ 
    position: fixed 
    ul{ 
     li{ 
     } 
    } 
} 

gulpfile.js

var gulp = require('gulp'), 
    sass = require('gulp-sass'), 
    watch = require('gulp-watch'), 
    cleanCSS = require('gulp-clean-css'); 
    browserSync = require("browser-sync"), 
    gutil = require('gulp-util'), 
    reload = browserSync.reload; 

var path = { 
    build: { 
     html: 'build/', 
     js: 'build/js/', 
     css: 'build/css/', 
     image: 'build/img/' 

    }, 
    src: { 
     html: 'src/*.html', 
     js: 'src/js/**/*.js', 
     sass: 'src/sass/**/*.scss', 
     css: 'src/css/**/*.css', 
     image: 'src/img/*' 
    }, 
    watch: { 
     html: 'src/**/*.html', 
     js: 'src/js/**/*.js', 
     sass: 'src/sass/*', 
     css: 'src/css/**/*.css', 
     image: 'src/img/*' 
    }, 
    clean: './build' 
}; 


function handleErrors() { 
    var gutil = require('gulp-util'); 
    var args = Array.prototype.slice.call(arguments); 

    gutil.log(gutil.colors.white.bgRed.underline.bold('Gulp error:')); 
    gutil.log(gutil.colors.red(args)); 

    this.emit('end'); 
} 
gulp.task('html',function(){ 
    gulp.src(path.src.html) 
    .pipe(gulp.dest(path.build.html)) 
    .pipe(reload({stream: true})); 
}); 

gulp.task('browser-sync', function() { 
    browserSync.init({ 
     server: { 
      baseDir: [path.build.html] 
     } 
    }); 
}); 



gulp.task('sass',function(){     
    gulp.src('./src/sass/main.scss') 
    .pipe(sass({includePaths: ['./src/sass']}).on('error', sass.logError)) 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(cleanCSS({debug: true}, function(details) { 
      console.log(details.name + ': ' + details.stats.originalSize); 
      console.log(details.name + ': ' + details.stats.minifiedSize); 
     })) 
    .pipe(gulp.dest(path.build.css)) 
    .pipe(reload({stream: true})); 

}); 



gulp.task('watch', function(){ 
    watch([path.watch.sass], function(event, cb) { 
     gulp.start('sass'); 
    }); 
}); 


gulp.task('default', ["sass", "html", "browser-sync" ,"watch"]);  
+0

あなたは既にHTTPSを知っていますエラー:// WWW .npmjs.com/package/gulp-plumber? – Hitmands

+0

私は細かいリポジトリのコードを実行することができた:gulpfile〜/プロジェクトを使用して $の一気のSASS [17時19分09秒]/strangegulpbehaviour/gulpfile.js [17時19分09秒] 'SASS' を開始しています... [17:19:09] 11ms後に 'sass'を終了しました main.css:1409 main.css:1056 – arnorhs

+0

ここでは、問題のSassの[MCVE]は表示されません。提供されたコードは["Illegal nesting"]を生成します(http://stackoverflow.com/questions/22977744/what-does-this-error-in-sass-mean-illegal-nesting-only-properties-may-be -nest)エラーが発生し、リンクされたrepoのコードがエラーなしでコンパイルされます。 – cimmanon

答えて

0

を実行し、このコマンドとリセット宇宙

npm install gulp-sass 

またはトレース

sass --trace --watch input.scss:output.css