Pasé de angular 12 a angular 13 y tuve un nuevo error. Básicamente, solía cargar la cultura del usuario importando el archivo de configuración regional.
const localeUri = `@angular/common/locales/${localeId}.js`; return import(localeUri).then((module) => { logger.debug("Culture Angular : '" + localeId + "'"); registerLocaleData(module.default); }).catch((err) => { logger.fatal("culture not defined for angular", err); }); Esta solución solía funcionar con angular12 pero ya no con angular13. Webpack no puede encontrar ninguna configuración regional. Probé algunas soluciones encontradas en github pero sin ningún resultado positivo.
https://github.com/highlightjs/highlight.js/issues/3223#issuecomment-953337602
https://github.com/angular/angular-cli/issues/22154
Alguna solución ?
Se las arregló para que funcionara cambiando la ruta desde la que importamos y cambiando .js a .mjs
Antes:
import( /* webpackInclude: /(de|de-AT|en|en-GB)\.js$/ */ `@angular/common/locales/${locale}.js` ).then((module) => { registerLocaleData(module.default); });Después:
import( /* webpackInclude: /(de|de-AT|en|en-GB)\.mjs$/ */ `../../../../../../node_modules/@angular/common/locales/${locale}.mjs` ).then((module) => { registerLocaleData(module.default); });Usando Angular 13.1.1 y NX 13.4.2
La solución también se mencionó aquí: https://github.com/angular/angular-cli/issues/22154
Tiene que importar desde @angular/common/locales/global/ ahora, y ya no se necesita registerLocaleData .
Antes de Angular 13:
import { registerLocaleData } from '@angular/common'; import localeFr from '@angular/common/locales/fr'; registerLocaleData(localeFr, 'fr-FR');Con Angular 13:
import '@angular/common/locales/global/fr'; // and you can use fr-FR whenever you want