Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

130
Views
Intentó analizar SCSS con el analizador CSS estándar; intente nuevamente con el analizador postcss-scss después de la actualización de Angular 12

Después de actualizar de Angular 11 a 12, ng serve ahora arroja un error:

 Error: /Users/btaylor/work/angular-apps/mdsl-authoring/assets/scss/_colors.scss:1:4: Unknown word You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser Error: /Users/btaylor/work/angular-apps/mdsl-authoring/assets/scss/custom-bootstrap.scss:1:1: Unknown word You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser Error: /Users/btaylor/work/angular-apps/mdsl-authoring/assets/scss/global.scss:296:12: Unknown word You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser Error: /Users/btaylor/work/angular-apps/mdsl-authoring/assets/scss/mdsl-composer/mdsl-composer-variables.scss:103:1: Unknown word You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser

Ninguno de los archivos SCSS en cuestión está haciendo algo especial. _colors.scss por ejemplo es simplemente:

 // Bootstrap Overrides $text-secondary: #2E93B1; $text-muted: #ccc; $link-color: #2E93B1; .text-secondary { color: $text-secondary !important; } // LabCorp UI Overrides $theme-colors: ( 'primary': #003A70, 'secondary': #2E93B1, 'success': #155724, 'danger': #790E1D, 'warning': #C59C38, 'info': #007A6E, 'light': #EDF1F4, 'dark': #0B1519, ); // UI design colors $primary: #007FA3; $highlighted: #D57800; $accent: #5F456F; $accent-secondary: #808080; $related: #D1EAF1;

Así que no estoy seguro de qué Unknown word se queja el analizador.

No encuentro mucha información en línea sobre este error con Angular.

El resto del código del proyecto se compilará como se esperaba, pero ahora la aplicación no se ejecutará. No estoy seguro de qué otro código proporcionar aquí, pero estoy más que feliz de publicar lo que sea útil para la depuración.

El error es específico de Angular CLI. Nuestro proyecto usa Angular Universal, y construye el código y lo sirve a través del trabajo de Node como se esperaba.

over 4 years ago · Santiago Trujillo
12 answers
Answer question

0

Angular 12

Agregue este código arriba de "fileReplacements" para cada configuración de entorno en angular.json

 "buildOptimizer": false, "optimization": false, "vendorChunk": true, "extractLicenses": false, "sourceMap": true, "namedChunks": true,

ejemplo:

 "configurations": { "staging": { "buildOptimizer": false, "optimization": false, "vendorChunk": true, "extractLicenses": false, "sourceMap": true, "namedChunks": true, "fileReplacements": [{ "replace": "src/environments/environment.ts", "with": "src/environments/environment.testing.ts" }] }, "testing": {}, "local": {} }
over 4 years ago · Santiago Trujillo Report

0

Por mi parte fue porque tenia mal el codigo scss. Por ejemplo, configuración de variable incorrecta.

over 4 years ago · Santiago Trujillo Report

0

Tenía el mismo problema. La forma en que logré resolverlo fue corrigiendo los errores de sintaxis del antiguo Scss al nuevo Scss.

Toma algo de tiempo, pero al final, todo valió la pena.

(Tenía un código de 2017 que necesitaba usar en Angular 12)

over 4 years ago · Santiago Trujillo Report

0

Mover el directorio de estilos ofensivos a includePaths de stylePreprocessorOptions fue el truco para mí.

 "stylePreprocessorOptions": { "includePaths": [ "src/assets" ] },
over 4 years ago · Santiago Trujillo Report

0

Asegúrese de no tener archivos sass dentro de /assets

Tengo mi archivo principal styles.scss que hace referencia a otros archivos...

 @use '~@angular/material' as mat; @import 'assets/preload/preload'; // this is preload.scss

Como puede ver, uno de los archivos está en assets . Esto se debe a que originalmente se incluyó directamente en el archivo index.html (para mayor velocidad). Con esta nueva e ingeniosa característica en línea que usa bichos , quería que estuviera en línea usando la configuración de optimización predeterminada.

SASS admite oficialmente ambos estilos comunes de comentarios , incluidos // . Sin embargo, el css normal (y el analizador css estándar) no lo hace.

Mi archivo preload.scss contiene algunos // comentarios de estilo. Esto está absolutamente bien cuando se importa en styles.scss con @import porque todo se procesa a través del compilador sass y // los comentarios están bien.

Sin embargo (y no estoy seguro exactamente por qué) el analizador postcss-scss está buscando archivos scss dentro de /assets . Encuentra un estilo de comentario no válido y explota. Creo que solo ng serve hace esto.

La solución para mí fue simplemente mover el archivo preload.scss a la misma ubicación que mis otros archivos. Con suerte, si tiene este mismo problema, la solución será la misma.


Otras observaciones / especulaciones:

  • ng serve carga y procesa cada archivo en activos (puede verlo haciendo esto si habilita el modo detallado). No estoy seguro exactamente * de lo que está haciendo tbh, pero es en esa fase cuando falla. Y lo hace incluso si no está referenciado por nada.
  • Si ejecuto una producción, no falla porque solo está copiando activos sin procesarlos.
  • Si deshabilito la optimization/minify , también tiene éxito con ng serve . Solo en la minificación se ejecuta post-css .
  • Creo que esto es un error, pero no estoy del todo seguro. No tiene sentido procesar archivos de activos como este y probablemente lleve tiempo.
over 4 years ago · Santiago Trujillo Report

0

Como dices, el problema es tener archivos sass/scss en la carpeta de activos.

En lugar de sacar estos archivos de la carpeta de activos, puede simplemente ignorarlos.

En angular.json, cambie

 "assets": [ "src/favicon.ico", "src/assets", ... ]

para

 "assets": [ "src/favicon.ico", { "glob": "**/*", "input": "src/assets/", "ignore": ["**/*.scss"], "output": "/assets/" }, ... ]
over 4 years ago · Santiago Trujillo Report

0

Creé un nuevo proyecto usando Angular CLI 12.0.0 y luego copié partes de angular.json que faltaban o eran diferentes de mi proyecto.

En esta aplicación, fue:

 "projects": { "schematics": { "@schematics/angular:application": { "strict": true } }, ..., "architect": { "build": { "configurations": { "production": { "budgets": [ { "type": "initial", "maximumWarning": "500kb", "maximumError": "1mb" }, { "type": "anyComponentStyle", "maximumWarning": "200kb", "maximumError": "1024kb" } ], "fileReplacements": [ { "replace": "src/environments/environment.ts", "with": "src/environments/environment.prod.ts" } ], "outputHashing": "all" }, "development": { "buildOptimizer": false, "optimization": false, "vendorChunk": true, "extractLicenses": false, "sourceMap": true, "namedChunks": true } }, "defaultConfiguration": "production" } }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "configurations": { "production": { "browserTarget": "mdsl-authoring:build:production" }, "development": { "browserTarget": "mdsl-authoring:build:development" } }, "defaultConfiguration": "development" } }

ahora ng serve funciona como se esperaba. Entonces, si está actualizando, asegúrese de verificar las diferencias entre los archivos angular.json en un nuevo proyecto y el suyo.

over 4 years ago · Santiago Trujillo Report

0

He investigado este problema desde que últimamente estaba migrando un proyecto de tamaño mediano de v11 a v12 .

El problema es que tiene sus archivos .scss en la carpeta de assets que básicamente está destinado a que los activos se copien tal cual. No debe ser procesado por algún tipo de preprocesador scss.

Fuente https://angular.io/guide/workspace-config#asset-config

... carpetas que desea copiar tal como están al crear su proyecto.

Sin embargo, los archivos en la carpeta de activos se minimizan y de ahí proviene la excepción. Durante la versión anterior, estos archivos probablemente fueron preprocesados y esa es la razón por la cual este problema no ha surgido hasta ahora.

La solución es mover sus archivos scss globales fuera de la carpeta de activos. Además, puede enumerarlos en angular.json ( propiedad de styles ) si es necesario.

over 4 years ago · Santiago Trujillo Report

0

Enfrenté el mismo error, y mi solución fue cambiar el archivo angular.json , específicamente la sección de projects -> "angular_name" -> architect -> configurations -> production -> optimization . Inicialmente, el valor de optimización era optimization:true , así que cambié la sección de optimización a esto:

 "optimization": { "scripts": true, "styles": { "minify": false, "inlineCritical": true }, "fonts": true },

Como puede ver, la opción minify se configuró en false . Después de cambiar esto, todo comenzó a funcionar.

Consulte este enlace para obtener más detalles sobre la optimization https://angular.io/guide/workspace-config#optimization-configuration

over 4 years ago · Santiago Trujillo Report

0

Estaba luchando con este mismo problema. Primero necesitaba agregar esto:

 npm --save install postcss-scss

https://www.npmjs.com/package/postcss-scss

y crear el

postcss.config.js

archivo en la raíz del proyecto.

agregar

 module.exports = { syntax: 'postcss-scss', };

lo más importante no se olvide de hacer

 npm audit fix --force

ahora puedes ng build o ng serve

esto debería corregir el error angular 12 actual.

over 4 years ago · Santiago Trujillo Report

0

Tengo el mismo problema que tú, pero no pude solucionarlo con tu ejemplo.

esto ocurre cuando actualizo el paquete @angular-devkit/build-angular de la versión "^ 0.1000.2" a "^12.0.2"

 assets/scss/fix.scss - Error: assets/scss/fix.scss from Css Minimizer D:\home\admin-pref-new\assets\scss\fix.scss:169:6: Unknown word You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser [assets/scss/fix.s css:169,6] You tried to parse SCSS with the standard CSS parser; try again with the postcss-scss parser

comentarios en archivos scss

 // ng-select para manter a mesma cor do boostrap .ng-select { &.ng-select-disabled { > .ng-select-container { background-color: #E3E3E3 !important; } } }
over 4 years ago · Santiago Trujillo Report

0

Para aquellos de ustedes que encuentren esto justo después de actualizar a Angular 12, asegúrese de leer detenidamente la Guía de actualización de Angular 12 .

La sección correspondiente es:

La inserción de CSS crítico ahora está habilitada de forma predeterminada. Para desactivar esto, establezca inlineCritical en falso. Consulte PR #20096 y la sección de opciones de preprocesador de estilo de la configuración del espacio de trabajo angular.

Lo que está haciendo en realidad es mirar su archivo index.html e inspeccionar las entradas de la hoja de estilo, y luego tratar de incluirlas en la fuente.

Como algunos otros han dicho, configurar la optimization: false puede resolver el problema, ¡pero supongo que no le hizo ningún favor al tamaño de su paquete con ese!

En su lugar, puede cambiar inlineCritical a false , lo que puede hacer configurando algo como esto. Ver la configuración completa para la optimización .

 "optimization": { "scripts": true, "styles": { "minify": true, "inlineCritical": false }, "fonts": true }

Otro cambio posiblemente relevante en Angular 12 es la opción inlineStyleLanguage .

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!