Neden scss / css dosyasında “_” veya “_” dosya adının önüne koyulsun?


148

Neden _scss dosya adının önüne koyulur?

_filename.scss- Neden ihtiyacı var _?

Yanıtlar:


148

_ (Alt çizgi) scss için kısmi bir işlevdir. Bu, stil sayfasının ana stil sayfasına yani stil.scss'e aktarılacağı (@import) anlamına gelir. Kısmi kullanmanın avantajı, kodunuzu düzenlemek için birçok dosya kullanabilmeniz ve her şeyin tek bir dosyada derlenmesidir.


3
ancak import '_file';ve import '_file';aynı şey hakkını yapar?
tom10271

20
@aokaddaoc aynı kod satırını yazmışsınız gibi görünüyor :)
Amit

21
Hatamı belirttiğin için teşekkür ederim. "ama import '_file';ve import 'file';aynı şey hakkını yapar?"
tom10271

5
Dosyalarımı derleyici / önişlemcime yalnızca tek bir dosya gönderecek şekilde yapılandırırsam, dosyalarımın eklenmesi neden önemlidir _? Altyazılarımı dosya adlarımdan kaldırmayı düşünüyorum. Bir Sass dosyasının bir kısmi olup olmadığı (yani içe aktarılabilir bir kod parçası) dosyanın nasıl adlandırıldığına değil, projenizin mimarisindeki konumuna bağlı olmalıdır.
ESR

1
@ESR: Kabul etti, bu özellik modern bir web geliştirme ortamında biraz modası geçmiş hissediyor. _Projenizi makul bir şekilde yapılandırdıysanız kesinlikle s'ye ihtiyacınız yoktur .
Chris Jaynes

55

Alt çizgiyle başlayan bir sass dosyası kısmi. Stillerinizi mantıksal bölümlere ayırmanın iyi bir yoludur. Bu dosyalar, kullandığınızda derleme üzerinde birleştirilir @import.

Sass dil rehberinden:

Diğer Sass dosyalarına ekleyebileceğiniz küçük CSS parçacıkları içeren kısmi Sass dosyaları oluşturabilirsiniz. Bu, CSS'nizi modüle etmenin ve işlerin bakımını kolaylaştırmaya yardımcı olmanın harika bir yoludur. Kısmi, yalnızca alt çizgi ile adlandırılmış bir Sass dosyasıdır. Buna _partial.scss gibi bir ad verebilirsiniz. Alt çizgi, Sass'a dosyanın yalnızca kısmi bir dosya olduğunu ve bir CSS dosyasına oluşturulmaması gerektiğini bildirir. Sass kısmi değerleri @import yönergesi ile kullanılır.

http://sass-lang.com/guide


14

Dosya adının önüne "_" eklediğinizde, kısmi olmayan başka bir sass dosyasına içe aktarmadığınız sürece CSS'de oluşturulmaz.

klasör yapınızın böyle olduğunu varsayalım

/scss
 style.scss
 _list.scss
/css

komutu çalıştırırsan

sass --watch scss:css

yalnızca style.css ve style.css.map dosyaları oluşturulacak, sass derleyicisi içeriğini bir CSS dosyasına dönüştürmeden _list.scss dosyasını atlayacaktır.

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

kısmi kullanabilmenin tek yolu bunları başka bir .scss dosyasına aktarmaktır.

@import 'list.scss';

_list.scss önündeki '_' karakterini kaldırırsanız, komutun sonucu

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

Kısmi kullanmanın temel amacı, CSS kodumuzu bakımı daha kolay olan birkaç parçaya bölmektir. Bu yardımcı olur umarım. Teşekkürler.


3
Bu doğru cevap. Ancak, _index.scss özel durumundan da bahsetmediniz: sass-lang.com/documentation/at-rules/import#index-files
tiffon

11

_ (Alt çizgi) olan dosyalar derleyici tarafından yoksayılır. Ancak, tüm bu dosyalar tek bir ana SCSS dosyasına (yani styles.scss) içe aktarılır, yani derlenmiş dosyadır (adında _ (alt çizgi) yoktur)

Nihai hedef, yalnızca bir SCSS dosyası derlemek ve bunun sonucunda sadece bir CSS dosyasına sahip olmak ve bunun çeşitli avantajları vardır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.