2015-01-16 10 views
9

Capisco che è consigliabile importare parziali SASS/SCSS senza utilizzare il carattere di sottolineatura principale; per esempio.Sass @import utilizzando il trattino basso principale

@import 'normalize-scss/normalize'; // this imports ./normalize-scss/_normalize.scss

La mia domanda per completezza nerd è, sono lì consequenties se il file viene importato utilizzando il sottolineatura?

@import 'normalize-scss/_normalize';

+4

Cosa succede quando si hanno due file '' __test.scss' e _test.scss' e si '@import "_test"' –

risposta

12

No. Se il file è _foo.scss, tutte queste importazioni sono risultati identici fino a quando non si hanno i nomi di file ambiguo (salvo eventuali effetti collaterali che potrebbero esistere):

@import "foo"; 
@import "foo.scss"; 
@import "_foo"; 
@import "_foo.scss"; 

file con lo stesso nome ma diversa estensione

l'unica volta che l'estensione è necessario è se si dispone di entrambi _foo.scss e _foo.sass nello stesso percorso di ricerca. Si otterrà il seguente errore se non si specifica quale:

error sass/test.scss (Line 7: It's not clear which file to import for '@import "test/bar"'. 
Candidates: 
    test/_bar.sass 
    test/_bar.scss 
Please delete or rename all but one of these files. 
) 

file con lo stesso nome, ma uno è preceduto da un carattere di sottolineatura

Se si dispone di foo.scss e _foo. scss, quindi foo.scss avrà la precedenza. Se vuoi invece _foo.scss, dovrai aggiungere il carattere di sottolineatura alla tua dichiarazione di importazione.

@import "test/_foo"; 

Sass sarà nag con un avviso ogni volta che si salva non importa quale sia la vostra dichiarazione di importazione appare come:

WARNING: In /path/to/test: 
    There are multiple files that match the name "bar.scss": 
    _bar.scss 
    bar.scss 
+0

Se per default il motore controlla '_foo.scss', sicuramente sarebbe più veloce usare' @import "foo"; '. Precisori millisecondi! –

+2

Che strana decisione di progettazione - trattare i file come gli stessi. – dKen

0

Se si aggiunge un carattere di sottolineatura per l'inizio del nome del file, Sass ha vinto' t compilarlo. Quindi, se non vuoi che lo compili per colors.css, dai il nome al file _colors.scss. I file denominati in questo modo sono chiamati partial nella terminologia di Sass.

più su funzione di importazione nel Sass si possono trovare here

Problemi correlati