2015-01-16 12 views
9

Rozumiem, że najlepiej jest importować części SASS/SCSS bez użycia wiodącego podkreślenia; na przykładSass @import przy użyciu wiodącego podkreślenia

@import 'normalize-scss/normalize'; // this imports ./normalize-scss/_normalize.scss

Moje pytanie jest dla nerdy kompletności, są tam consequenties jeśli plik jest importowany za pomocą podkreślenia?

@import 'normalize-scss/_normalize';

+4

Co się dzieje, gdy masz dwa pliki '__test.scss' i' _test.scss' i '@import„_test”' –

Odpowiedz

12

No. Jeśli plik jest _foo.scss, wszystkie te importu mają identyczne wyniki, o ile nie masz żadnych niejednoznacznych nazw (zakazu wszelkich skutków ubocznych, które mogą istnieć):

@import "foo"; 
@import "foo.scss"; 
@import "_foo"; 
@import "_foo.scss"; 

plików o tej samej nazwie, ale innym rozszerzeniem

jedyny raz rozszerzenie to jest konieczne, jeśli masz zarówno _foo.scss i _foo.sass w tej samej ścieżce wyszukiwania. Otrzymasz następujący komunikat o błędzie, jeśli nie określić, który z nich:

error sass/test.scss (Line 7: It's not clear which file to import for '@import "test/bar"'. 
Candidates: 
    test/_bar.sass 
    test/_bar.scss 
Please delete or rename all but one of these files. 
) 

plików o tej samej nazwie, ale jedno jest poprzedzona znakiem podkreślenia

Jeśli masz zarówno foo.scss i _foo. scss, a następnie foo.scss będzie miał pierwszeństwo. Jeśli chcesz zamiast tego _foo.scss, musisz dodać podkreślenie do swojej instrukcji importowania.

@import "test/_foo"; 

Sass będzie gderać Ci ostrzeżenie za każdym razem zapisać bez względu na swój rachunek import wygląda następująco:

WARNING: In /path/to/test: 
    There are multiple files that match the name "bar.scss": 
    _bar.scss 
    bar.scss 
+0

Jeśli domyślnie silnika sprawdza, czy '_foo.scss', z pewnością najszybciej użyje' @import "foo"; '. Drogocenne milisekundy! –

+2

Co za bardzo dziwna decyzja projektowa - traktować pliki jako takie same. – dKen

0

Jeśli dodać podkreślenia na początku nazwy pliku, Sass wygrał” t skompiluj go. Tak więc, jeśli nie chcesz, aby colors.scss kompilował się do colors.css, zamiast tego podaj nazwę pliku _colors.scss. Pliki nazwane w ten sposób nazywane są cząstkami w terminologii Sass.

Więcej informacji na temat funkcji importu w Sass można znaleźć here

Powiązane problemy