Doplax.Dev
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto

¿Tienes un proyecto en mente o quieres saludar?

Contáctame

© 2026 Doplax.Dev — Todos los derechos reservados.

May 29, 2025

Cómo importar SCSS en Angular sin rutas relativas ni globales (guía limpia y moderna)

  • Angular

Hace poco retomé un proyecto Angular que tenía el ViewEncapsulation desactivado y todo el SCSS importado globalmente. Clásico setup legacy donde todo se arrastra desde styles.scss, con imports tipo:

@import '../../../../../mixins.scss';

Un caos.


Me propuse organizarlo bien, usando las herramientas modernas de SCSS: @use y @forward, y con paths absolutos. Aquí te dejo la guía exacta para no repetir errores y dejarlo todo limpio para el futuro.


📁 1. Estructura base del SCSS

src/
├── styles/
│   ├── abstracts/
│   │   ├── _variables.scss
│   │   ├── _mixins.scss
│   │   └── _functions.scss
│   ├── base/
│   │   ├── _reset.scss
│   │   └── _typography.scss
│   ├── index.scss          # Encapsula todo con @forward
│   └── main.scss           # El SCSS global final

⚙️ 2. Configurar rutas absolutas en angular.json

"architect": {
  "build": {
    "options": {
      "stylePreprocessorOptions": {
        "includePaths": ["src/styles"]
      }
    }
  }
}

Con esto activado, puedes olvidarte de los imports relativos. Ahora:

@use 'abstracts/mixins' as *;

🔁 Sustituye a:

@use '../../../../../styles/abstracts/mixins' as *;

📦 3. Usar @use y @forward bien

src/styles/index.scss

@forward 'abstracts/variables';
@forward 'abstracts/mixins';
@forward 'abstracts/functions';

Este archivo actúa como punto de entrada a todo lo que necesites importar desde cualquier componente.

src/styles/main.scss

@use 'index' as *;
@use 'base/reset';
@use 'base/typography';

Aquí es donde cargas los estilos globales.


🧩 4. Cómo usarlo en los componentes

Una vez configurado todo, en cualquier SCSS de componente, simplemente haces:

@use 'abstracts/mixins' as *;

.card {
  @include shadow-md;
}

Sin rutas locas, sin globales, sin dolores de cabeza.



✅ 5. Buenas prácticas

  • Usa @use y @forward en lugar de @import (deprecated).
  • Encapsula y organiza: una carpeta abstracts, un index.scss, y listo.
  • Carga lo justo: nada de reset.css en todos los componentes.
  • Usa ViewEncapsulation.Emulated para evitar fugas de estilos.
  • Evita usar as * siempre. Nómbralo cuando puedas: @use 'mixins' as mixins.
AnteriorComo eliminar un commit concretoSiguienteCómo Transcribir Audio a Texto Gratis con Inteligencia Artificial

Posts relacionados

  • Data Binding en Angular: qué es, tipos y cómo funciona realmenteAngular
  • Comandos para la creación de módulos en AngularAngular
  • Como instalar eslint en AngularAngular
  • Como usar iconos de FontAwesome en AngularAngular

Escrito por Pol Valle

Escrito por Pol Valle

Me interesa especialmente desarrollar aplicaciones que no solo sean funcionales, sino también atractivas y fáciles de usar. Lo consigo aplicando principios SOLID, arquitectura limpia y testing para garantizar la calidad.