2014-11-12 13 views
5

Mam projekt Meteor z następującą strukturę plików:Meteor Sass zastosowaniem zasady Sass z głębszych plików

.meteor 
client 
    dashboard 
    dashboard.scss 
    client.scss 

Mój podstawowy plik Sass jest client.scss który rezyduje w folderze klienta.

Jeśli zdefiniuję $ flat-button w client.scss. Wtedy nie mogę go użyć w desce rozdzielczej.css bez dodawania import '../client';. Jednak gdy robię to w wielu plikach, powoduje to duplikaty wpisów w ujednoliconym pliku css. Jeśli go nie zaimportuję, Meteor zgłasza błędy z powodu nieodnalezienia zmiennej.

Czy należy dodać ustawienia do kompilatora sass, aby to działało?

+0

Nie widzę problemu? Jeśli chcesz, aby zmienna była dostępna w innym miejscu, zdefiniuj ją w innym miejscu lub zmień kolejność importu. – cimmanon

+0

Cały sens posiadania podstawowego pliku sass polega na tym, że nie chcę redeclare moich kolorów w każdym segcie. I nie mam żadnego wpływu na zamówienie importowe, o ile wiem. – Difusio

+0

Nie można utworzyć pliku * nowego * zawierającego tylko zmienne? – cimmanon

Odpowiedz

4

Jeśli używasz pakietu fourseven:scss skompilować Sass w projekcie Meteor, wystarczy poprzedzić nazwy plików importowanych .scss plików z podkreśleniem, który jest the standard method of naming a partial stylesheet with Sass.

W twoim przypadku, folder i struktura plików należy zmienić na:

.meteor 
    client 
    dashboard 
     _dashboard.scss 
    client.scss 

I wtedy powinieneś być w stanie korzystać oświadczenie @import zawierać _dashboard.scss w client.scss tak:

@import 'dashboard' 

Jeśli z jakiegoś powodu nie chcesz zmienić nazwy plików w ten sposób, możesz również użyć rozszerzenia .scssimport dla tego samego wyniku.

Nadzieję, że pomaga!