Mengapa diletakkan di depan nama file “_” atau “_” di scss / css?

147

Mengapa diletakkan _di depan nama file di scss?

_filename.scss- Mengapa itu perlu _?

Niko_D
sumber

Jawaban:

147

_ (Garis bawah) adalah parsial untuk scss. Itu berarti stylesheet yang akan diimpor (@import) ke stylesheet utama yaitu styles.scss. Keuntungan menggunakan parsial adalah Anda dapat menggunakan banyak file untuk mengatur kode Anda dan semuanya akan dikompilasi pada satu file.

Fabian Parra
sumber
3
tetapi import '_file';dan import '_file';apakah hal yang sama benar?
tom10271
20
@ aokaddaoc sepertinya Anda menulis baris kode yang sama :)
Amit
20
Oh terima kasih telah menunjukkan kesalahan saya. "Tapi import '_file';dan import 'file';apakah hal yang sama benar?"
tom10271
5
Jika saya menyusun file-file saya sedemikian rupa sehingga saya hanya mengirim satu file saja ke kompiler / preprosesor saya, mengapa itu penting jika file-file saya diprogram sebelumnya _? Saya sedang mempertimbangkan menghapus garis bawah dari nama file saya. Apakah atau tidak file Sass adalah sebagian (yaitu sepotong kode yang dapat diimpor) harus bergantung pada lokasinya dalam arsitektur proyek Anda, bukan bagaimana nama file tersebut.
ESR
1
@ ESR: Setuju, fitur ini terasa agak ketinggalan zaman di lingkungan web dev modern. Anda pasti tidak membutuhkannya _jika Anda memiliki proyek yang terstruktur dengan cara yang masuk akal.
Chris Jaynes
55

File sass yang dimulai dengan garis bawah sebagian. Ini adalah cara yang baik untuk menjaga gaya Anda dipisahkan menjadi bagian-bagian yang logis. Semua file ini digabungkan pada kompilasi saat Anda gunakan @import.

Dari panduan bahasa Sass:

Anda bisa membuat sebagian file Sass yang berisi potongan kecil CSS yang bisa Anda sertakan dalam file Sass lainnya. Ini adalah cara terbaik untuk memodulasi CSS Anda dan membantu menjaga hal-hal lebih mudah untuk dipertahankan. Parsial hanyalah sebuah file Sass yang diberi nama dengan garis bawah utama. Anda mungkin memberinya nama seperti _partial.scss. Garis bawah memberi tahu Sass bahwa file tersebut hanya sebagian file dan tidak boleh dihasilkan menjadi file CSS. Parsial Sass digunakan dengan arahan @import.

http://sass-lang.com/guide

cameronjonesweb
sumber
14

Ketika Anda memasukkan "_" di depan nama file, itu tidak akan dihasilkan ke CSS kecuali Anda mengimpornya ke file sass lain yang tidak parsial.

misalkan struktur folder Anda seperti ini

/scss
 style.scss
 _list.scss
/css

jika Anda menjalankan perintah

sass --watch scss:css

hanya file style.css dan style.css.map yang akan dibuat, kompiler sass akan menghilangkan _list.scss tanpa mengubah kontennya menjadi file CSS.

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

satu-satunya cara Anda dapat menggunakan sebagian adalah dengan mengimpornya ke file .scss lainnya

@import 'list.scss';

jika Anda menghapus '_' di depan _list.scss, hasil dari perintah tersebut adalah

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

Tujuan utama menggunakan sebagian adalah untuk memecah kode CSS kami menjadi beberapa bagian yang lebih mudah dipelihara. Semoga ini membantu. Terima kasih.

dmcshehan
sumber
3
Ini adalah jawaban yang benar. Tapi, Anda juga tidak menyebutkan kasus khusus _index.scss: sass-lang.com/documentation/at-rules/import#index-files
tiff
11

File dengan _ (garis bawah) diabaikan oleh kompiler. Namun, semua file tersebut diimpor ke file SCSS tunggal utama (yaitu styles.scss) yang sebenarnya merupakan file yang dikompilasi (tidak memiliki _ (garis bawah) di namanya)

Tujuan akhirnya adalah mengkompilasi hanya satu file SCSS, dan hanya memiliki satu file CSS, yang memiliki berbagai kelebihan.

Tahi Reu
sumber