2016-12-18 8 views
0

私のgulpfile([email protected])のsassは多くのエラーを報告しています。これらのようなエラーではない:sass/gulp-sassは特定のエラー(無効なプロパティ)でサイレント状態のままです

=clearfix() 
    &:after 
     content: "" 
     display: table 
     clear both 

contentdisplayは(ミックスインが参照される)実際のクラスに正しくそれを作るが、(私はコロンを逃したため)clearません。これは構文エラーです(したがって、rareproperty: 42px;は正常に処理されているとは限りません)。 →静止画:エラーは表示されず、中断はありません。

マイ一気タスク:

gulp.task('sass', function() { 

    return gulp.src(src.scssMaster) 
     .pipe(plumber()) 
     .pipe(sourcemaps.init()) 
     .pipe( sass({ 
        debugInfo : true, 
        lineNumbers : true, 
        outputStyle: 'expanded' 
       }) 
       .on('error', function(err){ 
        gutil.log(err); // stackoverflow.com/a/30742014/444255 
        this.emit('end'); 
       }) 
      ) 
     .pipe(autoprefixer({ 
      browsers: ['iOS >= 5', 'ie 8', 'Firefox > 2'], 
      cascade: true, 
      remove: true 
     })) 
     .pipe(rename('lznet.css')) 
     .pipe(sourcemaps.write('../maps')) 
     .pipe(gulp.dest(src.cssDir)) 

     .pipe(reload({stream: true})) 
     .on('end',() => gutil.log('sass thing done')); 
}); 

ミッレグラツィエ❤

答えて

1

これは構文エラー→まだです:エラーが見られず、無中断。

これは構文エラーではありません。この例を見てみましょう:

.foo 
    color: blue 
    clear both 

これは、次のCSSにコンパイル:

.foo { 
    color: blue; 
} 

それは確かに誤って指定されたclear bothプロパティのエラーは黙って無視されのように見えます。実際に起こっていることは、ネストされた.foo clear bothセレクタを定義したことです。しかし、.foo clear bothセレクタがであるので、はSASSコンパイラによって最適化されています。

あなたは別のSASS例で何が起こるかを見たときにこれが明確になる:

.foo 
    color: blue 
    clear both 
    color: red 

これは、次のCSSにコンパイル:

.foo { 
    color: blue; 
} 
.foo clear both { 
    color: red; 
} 

は今.foo clear bothセレクタは空とCSSではありませんもはやコンパイラによって最適化されなくなりました。

実際には、HTML仕様のいずれにもclearまたはboth要素がないことをSASSは認識しません。これは機能であり、以来のバグではありません:

  • 要素はHTMLに追加され、削除される可能性があります。これにより、新しいHTMLバージョンが標準化されるたびにSASSを変更する必要があります。
  • custom HTML elementsを定義することもできます(この場合は、clearbothはWebコンポーネントでも有効です)。
  • CSS(したがってSASS)は決してHTMLに限定されません。 use CSS to style XML documentsでも、clearbothのようなカスタム要素を定義することができます。
+0

未解決の回答 –

関連する問題