Angular 13 Не удается найти модуль '@angular/common/locales/fr.js'
Я перешел с углового 12 на угловой 13, и у меня возникла новая ошибка. Так что в основном я загружал культуру пользователя, импортируя файл локали.
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);
});
Это решение используется для работы с angular12, но не с angular13. Webpack не может найти ни одной локали. Я пробовал некоторые решения, найденные на github, но без каких-либо положительных результатов
https://github.com/highlightjs/highlight.js/issues/3223#issuecomment-953337602
https://github.com/angular/angular-cli/issues/22154
Любое решение?
3 ответа
Удалось заставить его работать, изменив путь, из которого мы импортируем, и изменив
.js
к
.mjs
До:
import(
/* webpackInclude: /(de|de-AT|en|en-GB)\.js$/ */
`@angular/common/locales/${locale}.js`
).then((module) => {
registerLocaleData(module.default);
});
После:
import(
/* webpackInclude: /(de|de-AT|en|en-GB)\.mjs$/ */
`../../../../../../node_modules/@angular/common/locales/${locale}.mjs`
).then((module) => {
registerLocaleData(module.default);
});
Использование Angular 13.1.1 и NX 13.4.2
Здесь уже упоминалось решение: https://github.com/angular/angular-cli/issues/22154 .
Недавно я перешел на Angular 13. Я также столкнулся с той же проблемой. Изменения ниже работали для меня.
import(`@/../@angular/common/locales/${lang}.mjs`)
.then(localModule => {
registerLocaleData(localModule.default)
});
Вы должны импортировать из
@angular/common/locales/global/
сейчас и
registerLocaleData
больше не нужен.
До Углового 13:
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr, 'fr-FR');
С угловым 13:
import '@angular/common/locales/global/fr';
// and you can use fr-FR whenever you want