He leído la documentación , que dice que si quiero usar scsstengo que ejecutar el siguiente comando:
ng set defaults.styleExt scss
Pero cuando hago eso y hago ese archivo, sigo recibiendo este error en mi consola:
styles.bundle.js:33Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open '/Users/Egen/Code/angular/src/styles.css'(…)

git diffa ver lo que ha cambiado.ng new whatever --style=scssque se muestra en los documentos . ¡No siga las instrucciones para configurar un proyecto existente si eso no es lo que está haciendo!Respuestas:
Para Angular 6 verifique la documentación oficial
Nota: Para
@angular/cliversiones anteriores a las que se6.0.0-beta.6usanng seten lugar deng config.Para proyectos existentes
En un proyecto angular-cli existente que se configuró con los
cssestilos predeterminados , deberá hacer algunas cosas:scsssi obtiene un error:
Value cannot be found.use el comando:(* fuente: opciones de CLI SASS angular )
Cambie el nombre de sus
.cssarchivos existentes a.scss(es decir, styles.css y app / app.component.css)Apunte la CLI para buscar styles.scss
Para proyectos futuros
Como mencionó @Serginho, puede configurar la extensión de estilo al ejecutar el
ng newcomandoSi desea establecer el valor predeterminado para todos los proyectos que cree en el futuro, ejecute el siguiente comando:
fuente
cssascssin.angular-cli.jsonautomáticamente creará archivos scss para cada nuevo componente generado en el futuro.ng config schematics.@schematics/angular:component.styleext scsssegún lo dicho por @ hamilton.limaA partir de ng6 esto se puede lograr con el siguiente código agregado a
angular.jsonnivel raíz:Cambiar manualmente en
.angular.json:fuente
schematicshecho a nivel raíz, pero anidado dentro de mi proyecto enangular.json. ¿Debería ignorar eso y agregar esto en el nivel raíz?schematicsahora también está anidado.Abra el archivo angular.json
1.cambiar de
"schematics": {}a
"src/styles.css"a
"src/styles.scss"luego verifique y cambie el nombre de todos los
.cssarchivos y actualice los archivos de style.ts styleUrls de.css to .scssfuente
ng config schematics.@schematics/angular:component.styleext scsscomo se especifica en los documentos oficiales: github.com/angular/angular-cli/wiki/stories-css-preprocessorsPara Angular 6,
nota: @ schematics / angular es el esquema predeterminado para la CLI angular
fuente
Integración de preprocesador CSS para CLI angular: 6.0.3
Al generar un nuevo proyecto, también puede definir qué extensión desea para los archivos de estilo:
O establezca el estilo predeterminado en un proyecto existente:
Documentación CLI angular para todos los principales preprocesadores CSS
fuente
Invalid JSON character: "s" at 0:0.ng config(como el anterior) es el mejor método, pero que todavía tienen que cambiar el nombre de*.csslos archivos a*.scssY reemplazar las referencias enangular.jsonastyle.cssconstyle.scssy actualizar todas las referencias de archivos componentes enstyleUrlspropiedad a los nuevos nombres. ... entonces funciona muy bien!Para proyectos existentes :
En
angular.jsonarchivoEn
buildparte y entestparte, reemplace:"styles": ["src/styles.css"],por"styles": ["src/styles.scss"],Reemplazar:
"schematics": {},por"schematics": { "@schematics/angular:component": { "style": "scss" } },En su proyecto, cambie el nombre de sus
.cssarchivos a.scssPara un nuevo proyecto , este comando hace todo el trabajo:
Para configuración global
Parece que las nuevas versiones no tienen un comando global
fuente
Use el comando:
fuente
En ng6 necesitas usar este comando, de acuerdo con una publicación similar :
fuente
Para los usuarios de las extensiones Nrwl que se encuentran con este hilo: todos los comandos son interceptados por Nx (por ejemplo,
ng generate component myCompent) y luego pasados a AngularCLI.El comando para que SCSS funcione en un espacio de trabajo de Nx:
ng config schematics.@nrwl/schematics:component.styleext scssfuente
Se puede aplicar un cambio de fuerza bruta. Esto funcionará para cambiar, pero es un proceso más largo.
Vaya a la carpeta de aplicaciones src / app
Abra este archivo: app.component.ts
Cambia este código
styleUrls: ['./app.component.css']astyleUrls: ['./app.component.scss']Guardar y cerrar.
En la misma carpeta src / app
Cambie el nombre de la extensión del archivo app.component.css a (app.component.scss)
Siga este cambio para todos los demás componentes. (ej. hogar, acerca de, contacto, etc.)
El archivo de configuración angular.json es el siguiente. Se encuentra en la raíz del proyecto.
Buscar y reemplazar el css cámbialo a (scss) .
Guardar y cerrar.
Por último, reinicie su
ng serve -o.Si el compilador se queja de usted, repita los pasos nuevamente.
Asegúrese de seguir de cerca los pasos en app / src .
fuente
En la última versión de Angular (v9), el siguiente código debe agregar
angular.jsonPodría agregarse usando el siguiente comando:
fuente