2015-07-09 8 views
23

Muss eine .scss-Teildatei mit einem Unterstrich beginnen? Die Dokumentation besagt, dass ein Partial mit einem Unterstrich beginnen sollte, weil die Datei sonst zu einer CSS-Datei kompiliert würde.Unterstrich in partieller Sass-Datei

Allerdings habe ich festgestellt, gulp-sass kompiliert Dateien ohne Unterstreichung in eine komplette CSS-Datei ganz gut.

Antwort

39

1. Partials müssen mit einem Unterstrich beginnen, wenn sie nicht in eine css Datei generiert werden sollen.

2. Eine scss Datei kann eine andere Datei ohne Unterstrich importieren und trotzdem korrekt kompilieren.

dieses Beispiel nehmen:

sass 
    +-- base 
    | +-- _normalize.scss 
    +-- components 
    | +-- site-header.scss 
    +-- utilities  
    | +-- _icons.scss 
    +-- site.scss 

Hier können wir, dass site-header.scss und site.scss nicht sehen Unterstrichen haben. Wenn ich einen Schluck-Task ausführen würde, um irgendetwas im Ordner sass zu kompilieren, würden zwei Dateien ausgegeben.

site-header.css 
site.css 

Wir wollen nicht site-header.css zu erzeugen, sondern weil wir den Unterstrich der Compiler nur weggelassen ignoriert Dateien mit einem Unterstrich und erzeugt eine css Datei für sie.

site-header.scss noch in site.scss mit einem @import

@import 'components\site-header'; 

referenziert werden diese in dem gleichen Ergebnis führen wird, ob es mit einem Unterstrich oder nicht vorangestellt wird.

+0

Wenn Sie eine Sass-Datei ohne vorangestellten Unterstrich in eine andere Sass-Datei importieren, also ohne einen vorangestellten Unterstrich, dann wird nur eine CSS-Datei generiert, daher muss der Claim 'Partials mit einem Unterstrich beginnen, wenn Sie nicht möchten sie sind in einer css-Datei zu erzeugen. "ist nicht wirklich wahr - ich kann Partials haben, die nicht mit einem Unterstrich beginnen, der auch nicht in eine CSS-Datei generiert wird. Es hängt davon ab, wie Sie Ihre Dateien an Ihren Compiler senden, oder? –