Angular-cli: Las importaciones en estilos.scss no son accesibles desde *.component.scss

Creado en 15 sept. 2016  ·  3Comentarios  ·  Fuente: angular/angular-cli

Por favor proporciónenos la siguiente información:

  1. sistema operativo? Windows 7, 8 o 10. Linux (qué distribución). Mac OSX (¿Yosemite? ¿El Capitán?)
    MacOSX (10.11)
  2. Versiones. Ejecute ng --version . Si no se muestra nada, ejecute
    en una Terminal: node --version y pega el resultado aquí:
angular-cli: 1.0.0-beta.11-webpack.9-4                                                                         
node: 6.4.0                                                                                                    
os: darwin x64                                                                                                 
  1. Pasos de reproducción. ¿Era esta una aplicación que no se creó con la CLI? ¿Qué cambio hiciste?
    hacer en su código? etc
    Estoy usando una declaración de importación en estilos.scss:
    <strong i="20">@import</strong> '../node_modules/bourbon/app/assets/stylesheets/bourbon';

En app/dashboard/dashboard.component.scss , estoy llamando a display() y align-items() desde Bourbon así:

.site-header {
    <strong i="25">@include</strong> display(flex);
    <strong i="26">@include</strong> align-items(center);
    background-color:rgb(200,200,200);
    height:150px;
}
  1. El registro dado por la falla. Normalmente, esto incluye un seguimiento de la pila y algunos
    más información.
ERROR in ./src/app/app.component.scss                                                                          
Module build failed:                                                                                           
    <strong i="32">@include</strong> display(flex);                                                                                    
            ^                                                                                                  
      No mixin named display                                                                                   

Backtrace:                                                                                                     
        stdin:2                                                                                                
      in /Users/donaldallen/Websites/Vagrant/project/src/app/app.component.scss (line 2, column 14)          
 @ ./src/app/app.component.ts 19:21-52                                                                         
 @ ./src/app/index.ts                                                                                          
 @ ./src/main.ts                                                                                               
 @ multi main                                                                                                  

ERROR in ./~/css-loader!./~/postcss-loader!./~/sass-loader!./src/styles.scss                                   
Module build failed:                                                                                           
    background-color:rgb(50,50,50);ng                                                                          
                                  ^                                                                            
      Property "ng" must be followed by a ':'                                                                  
      in /Users/donaldallen/Websites/Vagrant/project/src/styles.scss (line 12, column 36)                    
 @ ./src/styles.scss 4:14-159                                                                                  
 @ multi styles                                                                                                
  1. Mencione cualquier otro detalle que pueda ser útil.

Parece que la única forma de hacer que esto funcione es si agrego las declaraciones de importación a cada archivo *.component.scss.


¡Gracias! Nos pondremos en contacto pronto.

Comentario más útil

Sí, desafortunadamente, cada styleUrls se compila por separado si lo entendí correctamente.
Así que no tienes suerte con obtener acceso automáticamente a variables y mixins.

Lo que puede hacer es crear un archivo global "shared.scss" que importe en su componente.scss
Ese archivo solo contiene los mixins y las variables.

De esa manera, solo necesita mantener el archivo shared.scss, y si aparecen nuevas variables, estarán disponibles automáticamente para todos sus componentes.

Todos 3 comentarios

Sí, desafortunadamente, cada styleUrls se compila por separado si lo entendí correctamente.
Así que no tienes suerte con obtener acceso automáticamente a variables y mixins.

Lo que puede hacer es crear un archivo global "shared.scss" que importe en su componente.scss
Ese archivo solo contiene los mixins y las variables.

De esa manera, solo necesita mantener el archivo shared.scss, y si aparecen nuevas variables, estarán disponibles automáticamente para todos sus componentes.

¡Muchas gracias! Eso es lo que estaba pensando que tendría que hacer. Esto servirá 👍

Este problema se ha bloqueado automáticamente debido a la inactividad.
Presente un nuevo problema si encuentra un problema similar o relacionado.

Obtenga más información sobre nuestra política de bloqueo automático de conversaciones .

_Esta acción ha sido realizada automáticamente por un bot._

¿Fue útil esta página
0 / 5 - 0 calificaciones