Recibo el siguiente error en la configuración de mi nuevo proyecto angular.
Paquetes instalados y sus versiones
ERROR Error: No capturado (en promesa): Error: Parece que su aplicación o una de sus dependencias está usando i18n. Angular 9 introdujo una función global
$localize()que debe cargarse. Agregueimport '@angular/localize';a su archivo polyfills.ts. Error: parece que su aplicación o una de sus dependencias está usando i18n. Angular 9 introdujo una función global$localize()que debe cargarse.
Nota: vengo de lo siguiente. Sugiere volver a la versión anterior. https://github.com/angular/angular/issues/32508
Primero debe asegurarse de tener el paquete @angular/localize:
npm install @angular/localize --save
Luego, import '@angular/localize/init' en su archivo polyfills.ts tal como dice el error
Angular 9 introdujo una función global $localize() que debe cargarse si usa i18n.
Ejecute ng add @angular/localize desde Angular CLI.
Entonces asegúrese de tener:
- @angular/localize como una dependencia en el paquete.json de su aplicación
- import '@angular/localize/init' en tus polyfills.ts
Como los atributos i18n ahora se convierten en llamadas $localize en el código generado, necesitamos cargar la función $localize.
La CLI ofrece un esquema para hacer esto por usted. Simplemente ejecute: ng add @angular/localize
Agregará el paquete a sus dependencias y la importación necesaria a sus polyfills (importar '@angular/localize/init')
También puede consultar el siguiente enlace para obtener más explicaciones. https://blog.ninja-squad.com/2019/12/10/angular-localize/
La mejor manera si está utilizando Angular CLI es ejecutar
ng add @angular/localize
Se encargará de eso automáticamente.
Si no
import '@angular/localize/init'; a su polyfills.ts
Probado con Angular 9
Si tiene muchos proyectos angulares en el mismo espacio de trabajo, ejecutar ng add @angular/localize agregará la declaración import '@angular/localize/init' a polyfills.ts solo en el proyecto predeterminado, creo que esto se solucionará en actualizaciones posteriores.
por lo que debe agregar import '@angular/localize/init' manualmente a polyfills.ts en otros proyectos.
Si está ejecutando ng test y la respuesta anterior no funciona, instale el paquete y agregue
import "@angular/localize/init"
a polyfills-test.ts
La mejor manera de hacer esto es usando Angular CLI:
Solo tienes que ejecutar el siguiente comando en la terminal:
ng add @angular/localizeInstalará automáticamente los paquetes y también agregará la declaración de importación en el archivo polyfills.ts.
La declaración de importación es:
import '@angular/localize/init';Si no desea pasar por el enfoque CLI, puede ingresar manualmente la declaración de importación en el archivo polyfills.ts. También debe hacer un paso más para agregar la siguiente línea en package.json bajo la etiqueta de dependencias.
"dependencies":{ ... "@angular/localize":"^9.1.0", ... }Este error comenzó a aparecer después de que actualicé una gran aplicación Nx/Angular CLI con varias subaplicaciones a Angular 10. La solución sugerida en el error (Ejecute ng add @angular/localize desde Angular CLI) no funciona si la aplicación contiene varias aplicaciones Cada una de estas aplicaciones generadas automáticamente tenía su propio polyfill.ts . Agregué manualmente la importación ( import '@angular/localize/init'; ) en cada uno de los archivos polyfill.ts. Para corregir el mismo error al ejecutar pruebas unitarias, también tuve que agregar la importación en el archivo test.ts de libs.
Tienes que agregar este paquete
ng add @angular/localize luego agregue import '@angular/localize/init'; a su ployfills.ts
Pero si sus pruebas fallan en una biblioteca, debe agregar import '@angular/localize/init'; a su test.ts
correr
npm install @angular/localize --save Luego, en su polyfills.ts
import '@angular/localize/init'esto funciona para mi
Cambié mi sistema operativo debido a este problema. Y ayer encontré la causa de este problema. Estaba teniendo este problema debido a un complemento que instalé en Visual Studio Code. Si está utilizando Angular9, no instale los dos primeros complementos. Puedes instalar el tercero.
Tuve este error al actualizar la versión Angular de 12 a 13. Seguí las instrucciones:
pero no funcionó para mí. Ya tenía @angular/localize en mis módulos y la importación en el archivo polyfills.ts, después de todo, mi aplicación Angular 12 funcionaba bien.
Para resolver el problema, tuve que actualizar la versión "@ng-bootstrap/ng-bootstrap" . Espero que esta sugerencia pueda ahorrarle dolor de cabeza a alguien, dado que no había un vínculo aparente entre la versión obsoleta de @ng-bootstrap/ng-bootstrap y la descripción del error.
Para mí, este error apareció al ejecutar npm test lo que las soluciones anteriores no ayudaron. Para resolverlo tuve que importar localizar en el archivo jest.ts Solo agrega:
import "@angular/localize/init";