2011-09-05 15 views
28

¿Es posible hacer que sass escuche un directorio con muchos archivos sass y genere un archivo CSS? He encontrado una manera mediante la inclusión de muchos archivos en una Sass (style.scss):Muchos archivos SCSS/SASS a un archivo CSS?

@import "scss/header"; 
@import "scss/footer"; 

Y a continuación, ejecute el siguiente código:

sass --watch style.scss:style.css 

pero el problema es que tengo que cambiar ese archivo antes de generar un nuevo archivo CSS.

Respuesta

47

Si mira el directorio, sass podrá notar los cambios en los archivos importados y actualizar los archivos dependientes.

style.scss:

@import "header"; 
@import "footer"; 

Y NO:

sass --watch . 

Se compilará todos los archivos del directorio para .css; ignorando archivos cuyo nombre comienza con _.

Yo modifico _header.scss o _footer.scss, si también actualizaré style.scss.

Usted también puede dar salida en otro directorio:

sass --watch .:output_dir/ 
+0

Gracias! Funciona a las mil maravillas. – voigtan

+1

¿Podría aclarar? el "encabezado" y el "pie de página" son ellos header.scss? o header.css? y están en una subcarpeta o en la misma carpeta que screen.scss? – Alisso

+0

¿Qué pasa si los parciales están en una carpeta diferente? Tengo esa situación y no puedo mover mis css-Files porque tendría que hacer muchos cambios en ese caso. ¿Todavía es posible cambiar un parcial y luego se crea un nuevo archivo principal css? – user2718671

4

Se puede decir SASS para ver una carpeta completa con:

sass --watch application/sass:public/stylesheets 

Si importa todos sus archivos parciales, esto debe generar un archivo. Cada vez que edite un archivo en la carpeta, los archivos CSS se generarán automáticamente.

+0

que funcionaría a, ambas soluciones es agradable. Pero mi objetivo era solo un archivo CSS en total y con _ y un archivo scss que incluye todo lo demás era la mejor solución para mí. Gracias por la respuesta, después de 2 días con sass me gusta mucho con todas sus características. – voigtan

0

sólo quería añadir, También puede llamar variables ($) y Mixins de otros archivos.

Por ejemplo:

_variable.scss = $primary:#000
_header.scss = header {color:$primary;}
_footer.scss = footer {background:$primary}

custom.scss:

@import "_variables.scss"; 
@import "_header.scss"; 
@import "_footer.scss"; 

salida = custom.css

header {color:#000;} 
footer {background:#000;} 
Cuestiones relacionadas