Perché mettere davanti al nome del file "_" o "_" in scss / css?


147

Perché mettere _davanti al nome file in scss?

_filename.scss- Perché serve _?

Risposte:


147

_ (Trattino basso) è parziale per scss. Ciò significa che il foglio di stile verrà importato (@import) in un foglio di stile principale, ovvero styles.scss. Il vantaggio nell'uso dei parziali è che puoi usare molti file per organizzare il tuo codice e tutto sarà compilato su un singolo file.


3
ma import '_file';e import '_file';la stessa cosa è giusta?
tom10271

20
@aokaddaoc sembra che tu abbia scritto la stessa riga di codice :)
Tra il

20
Oh, grazie per aver sottolineato il mio errore. "ma import '_file';e import 'file';fa la stessa cosa, giusto?"
tom10271

5
Se strutturo i miei file in modo da inviare un solo file al mio compilatore / preprocessore, perché è importante che i miei file vengano anteposti _? Sto pensando di rimuovere il carattere di sottolineatura dai miei nomi di file. Il fatto che un file Sass sia o meno parziale (ovvero un pezzo di codice impraticabile) dovrebbe dipendere dalla sua posizione nell'architettura del progetto, non dal modo in cui il file viene nominato.
ESR,

1
@ESR: D'accordo, questa funzionalità sembra un po 'datata in un moderno ambiente di sviluppo web. Sicuramente non ti serviranno gli _s se il tuo progetto è strutturato in modo ragionevole.
Chris Jaynes,

55

Un file sass che inizia con un trattino basso è parziale. È un buon modo per mantenere i tuoi stili separati in sezioni logiche. Tutti questi file vengono uniti durante la compilazione durante l'utilizzo@import .

Dalla guida linguistica di Sass:

Puoi creare file Sass parziali che contengono piccoli frammenti di CSS che puoi includere in altri file Sass. Questo è un ottimo modo per modulare i CSS e aiutare a mantenere le cose più facili da mantenere. Un parziale è semplicemente un file Sass denominato con un carattere di sottolineatura iniziale. Potresti chiamarlo come _partial.scss. Il trattino basso indica a Sass che il file è solo un file parziale e che non dovrebbe essere generato in un file CSS. I parziali Sass sono usati con la direttiva @import.

http://sass-lang.com/guide


14

Quando includi "_" davanti al nome del file, non verrà generato in CSS a meno che non lo importi in un altro file sass che non è parziale.

supponiamo che la struttura delle cartelle sia così

/scss
 style.scss
 _list.scss
/css

se si esegue il comando

sass --watch scss:css

verranno creati solo i file style.css e style.css.map, il compilatore sass ometterà _list.scss senza convertirne il contenuto in un file CSS.

/scss
 style.scss
 _list.scss
/css
 style.css
 style.css.map

l'unico modo in cui è possibile utilizzare i parziali è importarli in un altro file .scss con

@import 'list.scss';

se rimuovi '_' davanti a _list.scss il risultato del comando sarà

/scss
 style.scss
 list.scss
/css
 style.css
 style.css.map
 list.css
 list.css.map

Lo scopo principale dell'utilizzo dei parziali è quello di suddividere il nostro codice CSS in più parti che sono più facili da mantenere. Spero che questo ti aiuti. Grazie.


3
Questa è la risposta esatta. Ma non hai nemmeno menzionato il caso speciale di _index.scss: sass-lang.com/documentation/at-rules/import#index-files
tiffon

11

I file con _ (trattino basso) vengono ignorati dal compilatore. Tuttavia, tutti questi file vengono importati in un singolo file SCSS principale (cioè styles.scss) che in realtà è il file che viene compilato (non ha _ (trattino basso) nel suo nome)

L'obiettivo finale è quello di compilare un solo file SCSS e di avere un solo file CSS come risultato di ciò, che presenta vari vantaggi.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.