Estructura y Organización de un Proyecto con Sass

Toda tecnología necesita de una organización óptima, para evitarnos perder el tiempo en un futuro. La tecnología Sass nos permite modular nuestro proyecto, haciendo que este sea sencillo de leer y reutilizable.

La directiva @import

Una de las ventajas de usar SASS es que nos permite dividir el código en varios archivos, sin que esto afecte a su rendimiento. De esta tarea se encarga la directiva @import, que nos permite importar módulos en nuestro proyecto.

Una de las ventajas de modular nuestro código, es que podemos crear componentes independientes para poder reutilizarlos en otros proyectos. Si nuestros componentes son personalizables, intenta evitar usar tamaños, colores, tipografías, etc … e incluir estas configuraciones en un fichero de configuración a parte.

El hecho de tener una buena estructuración, nos hará la vida más fácil a la hora de realizar futuras modificaciones.

Organización de un proyecto Sass

Una buena práctica es hacer uso de la carpeta assets/ en nuestro proyecto, donde crearemos la estructura del proyecto Sass.

Yo suelo incluir el código del proyecto realizado con Sass en la carpeta source/ y el resultado de la compilación en la carpeta css/dist/

A pesar de todo, no existe un estándar de organización, por lo que cada uno puede tener su propia personalización de proyecto.

Ahora veamos la finalidad de cada una de las carpetas:

  • La carpeta base contiene las tipografías de proyecto, reset y normalizaciones de elementos HTML para eliminar inconsistencias.
  • La carpeta layout contendrá la distribución de tu aplicación, incluso partes de la web en si misma.
  • En components guardaremos porciones del proyecto (search.scss, adds.scss, buttons.scss, etc …). Sería como si trataramos con widgets.
  • En la carpeta pages incluiremos los estilos personalizados de cada página, en el caso de que los tuvieran (home.scss, contact.scss, etc …)
  • En themes yo suelo incluir estilos para otras partes del proyecto (extranet, admin, etc …)
  • abstracts es una carpeta muy importante y en la que incluyo helpers, mixins, funciones, variables y otras herramientas.
  • En vendor incluiremos archivos de librerías externas y que necesitará nuestro proyecto para poder funcionar (las grillas, reboot, etc …).

Es muy importante saber que por si mismos los ficheros no generan código alguno.

El fichero más importante y donde se almacena toda la configuración del proyecto es style.scss y contiene todos los módulos que incluye el proyecto.

Es importante mantener un orden secuencial correcto, porque sino podría no generar correctamente la hoja de estilos.

 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.