Gunakan beberapa file SASS

Saya ingin memisahkan file css global (raksasa) saya menjadi beberapa file. Saya menggunakan sass. Apakah ada cara mudah untuk menonton banyak file? Saya rasa saya bisa menggunakan @import, tetapi hanya ingin tahu apakah ada cara lain (yang lebih baik).

Terima kasih sebelumnya.


person Chris    schedule 06.04.2011    source sumber
comment
Tonton file: sass --watch public/stylesheets/sass:public/stylesheets. Itu akan memantau semua .scss file di public/stylesheets/sass dan menuliskannya sebagai .css hingga public/stylesheets/   -  person Zabba    schedule 07.04.2011
comment
Saya rasa ini sebenarnya solusi terbaik karena memungkinkan file CSS terpisah. Terima kasih.   -  person Chris    schedule 07.04.2011


Jawaban (2)


Apa yang Rich Bradshaw sebutkan benar, namun berikut adalah pendekatan lain yang bisa ambil.

Buat 1 file scss bernama combined.scss (misalnya) lalu di dalam file ini @import semua file scss Anda, lalu jalankan sass --style compressed --watch combined.scss:combined.css dan itu akan mendeteksi perubahan pada file scss yang diimpor dan kompilasi ulang sesuai kebutuhan.

Combined.scss contoh:

@import "reset";
@import "layout";
@import "styles";
@import "ie";

Jadi ketika Anda membuat perubahan pada file layout.scss combined.scss akan dikompilasi ulang dan semua halaman html Anda yang sebenarnya perlu referensi adalah combined.css.

Namun seperti yang saya katakan, solusi Rich Bradshaw akan bekerja dengan baik dan bergantung pada proyek yang sedang Anda kerjakan mungkin lebih baik digunakan.

person Jannis    schedule 06.04.2011
comment
Itulah yang saya cari. Terima kasih untuk bantuannya. - person Chris; 07.04.2011
comment
Bagus, senang bisa membantu. Satu hal kecil yang saya lupa sebutkan adalah bahwa @mixins hanya tersedia untuk sebuah file jika Anda mereferensikannya secara langsung. Jadi jika Anda membuat file terpisah hanya untuk mixins Anda, maka pastikan bahwa setiap file yang memerlukan akses ke file tersebut memiliki @import "mixin"; sebagai baris pertamanya (misalnya di layout.scss dan di styles.scss). - person Jannis; 10.04.2011
comment
Satu catatan tambahan: ketika Anda mengawali stylesheet tambahan Anda dengan garis bawah (misalnya _reset.scss), Sass tidak akan mengkompilasinya ke css. Jika Anda menyertakannya dengan @import "reset.scss (garis bawah dapat ditinggalkan di sini) di gabungan.scss Anda, maka hanya gabungan.scss yang akan dikompilasi, bahkan ketika beberapa file scss yang disertakan diubah. - person acme; 07.09.2011

Saya menggunakan impor, lalu buka direktori media saya, yang mencakup direktori bernama css dengan semua css saya di dalamnya dan jalankan sass --style compressed --watch css:css. Itu menghasilkan satu file css dari banyak file scss.

Untuk memperjelas hal ini, jika Anda memberi nama file yang diimpor dimulai dengan garis bawah, SASS tidak akan mencoba mengkompilasinya.

Jadi, jika Anda memiliki file bernama style.scss yang berisi baris-baris ini,

@import 'reset';
@import 'blog';

dan beberapa file bernama _reset.scss dan _blog.scss berarti ketika Anda menjalankan perintah di atas akan menghasilkan satu file bernama style.css yang berisi semua file lainnya. Variabel yang dinyatakan lebih tinggi juga berfungsi.

person Rich Bradshaw    schedule 06.04.2011
comment
Terima kasih atas tip tentang nama file yang diawali dengan garis bawah, saya tidak ingat ini dan itulah yang saya cari! - person Pierre-Adrien; 14.10.2012
comment
satu hal... Garis bawah hanya memberitahu Sass untuk tidak membuat file CSS saat melakukan kompilasi. Itu tidak berarti hei, abaikan saja seluruh isi file ini. – @cimmanon di stackoverflow.com/questions/13323220/ - person luigi7up; 11.11.2013