Angular 缺少区域设置“的区域设置数据”;XXX“;棱角分明

Angular 缺少区域设置“的区域设置数据”;XXX“;棱角分明,angular,angular-i18n,Angular,Angular I18n,我目前在“en US”上定义“LOCALE_ID”: @NgModule({ providers: [{ provide: LOCALE_ID, useValue: "en-US" }, ...], imports: [...], bootstrap: [...] }) 它工作得很好。然而,为了测试日期在法语中的外观,我将“en-US”替换为“fr-fr”,然后我得到了错误: 缺少区域设置“fr”的区域设置数据 我做了一些研究,但没有发现任何与此相关的东西。默认包中是否

我目前在“en US”上定义“LOCALE_ID”:

@NgModule({
    providers: [{ provide: LOCALE_ID, useValue: "en-US" }, ...],
    imports: [...],
    bootstrap: [...]
})
它工作得很好。然而,为了测试日期在法语中的外观,我将“en-US”替换为“fr-fr”,然后我得到了错误:

缺少区域设置“fr”的区域设置数据

我做了一些研究,但没有发现任何与此相关的东西。默认包中是否包含法语的区域设置?是另一个包裹吗?我必须自己创建它们吗?

请查看


这可能是您在文件
app.module.ts

...
import { NgModule, LOCALE_ID } from '@angular/core';
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);


@NgModule({
  imports: [...],
  declarations: [...],
  bootstrap: [...],
  providers: [
    { provide: LOCALE_ID, useValue: 'fr-FR'},
  ]
})
export class AppModule {}
(来源:)

在模板中(
*.component.html

结果:

DATE in FRENCH: 25 mars 2018

(来源:)

谢谢@Alan,你刚刚忘记了:
从'@angular/common'导入{registerLocaleData}

完整代码:

import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);

@NgModule({
  imports: [...],
  declarations: [...],
  bootstrap: [...],
  providers: [
    { provide: LOCALE_ID, useValue: 'fr-FR'},
  ]
})
export class AppModule {}

.啊!非常感谢,我看到了那篇文章,但是我错过了“i18n管道”部分。这些文章太长了。非常感谢,现在可以用了;-)您好,我不使用angular cli,JB Nizet提供的答案解决了我的问题,谢谢;-)@ssougnez如果提供的答案帮助您解决了问题,您应该接受它作为答案。这不仅有助于提供答案的人获得声誉,并因提供帮助而获得回报,也有助于社区获得正确的答案。我接受了另一个答案,因为它与我的问题最接近。最终找到了这样做的方法。感谢
注册表本地数据(localeFr)调用是一个纯粹的副作用,会被树震动剥离;换句话说,如果您使用
“sideEffects”:false启用树抖动,那么这在dev中有效,在prod中失败。最好将函数调用放入AppModule构造函数中。我遇到了与此错误消息相同的问题:缺少区域设置“hu”的区域设置数据。管道“DatePipe”的区域设置数据。这就解决了。谢谢
import { registerLocaleData } from '@angular/common';
import localeFr from '@angular/common/locales/fr';
registerLocaleData(localeFr);

@NgModule({
  imports: [...],
  declarations: [...],
  bootstrap: [...],
  providers: [
    { provide: LOCALE_ID, useValue: 'fr-FR'},
  ]
})
export class AppModule {}