2013-03-14 18 views
6

file1.scssfunzione di Sass non disponibile da file di importazione

@function toPx($n) { 
    @return $n + 0px; 
} 

file2.scss

body { 
    font-size:toPx(10); 
} 

file3.scss

@import "file1.scss"; 
@import "file2.scss"; 

L'uscita del file3.css contiene

body { 
     font-size:toPx(10); 
    } 

Non riesco a far funzionare la funzione toPx, anche se l'importazione avviene direttamente in file2.scss. Se dichiaro toPx all'interno di file2.scss funzionerà comunque.

Sono nuovo di SASS quindi presumo che mi manchi qualcosa di semplice qui, qualcuno è in grado di dirmi cosa?

Sorprendentemente Scout, il compilatore sass che sto usando, non lancia un errore, ma semplicemente rende il toPx (10) nel CSS di output.

Modifica

ho trovato questo riferimento, che sembra suggerire che ho bisogno di utilizzare l'API di Ruby al fine di ottenere una funzione globale. Qualcuno è in grado di chiarire?

http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#adding_custom_functions

risposta

0

sono incappato in una risposta hack, che mi fa pensare è probabilmente un bug Scout.

ho alterato file3.scss a questo

@import "file1.scss"; 
@import "file2.scss"; 
body { 
     font-size:toPx(10); 
    } 

Dopo la compilazione che, ha funzionato come previsto. Successivamente ho cambiato i miei file su come ho descritto nella domanda e ora tutte le mie chiamate per toPx funzionano in qualsiasi file.

Problemi correlati