Angular universal server error: When using the default fallback, a fallback language must be provided in the config
Angular universal server error: When using the default fallback, a fallback language must be provided in the config
我已经在我的应用程序上安装了 angular universal。
运行 npm run build:ssr
- 完成。作品。
运行 npm run server:ssr
- DONE.WORKS.
访问服务器 URL (localhost:4000) 后,页面未完全加载,终端出现以下错误:
i18n Transloco 未在模块文件中完全配置。
我也遇到了同样的问题,所以我想分享一下我的发现。
对我来说,有两个似是而非的causes/solutions:
- 首先,在我项目的 I18N 默认 JSON 文件中 en.json,我在 [=45= 的结构中遇到了问题] 文件。
例如,我犯了以下错误。我错过了第二个标签后的逗号 'FINISH' :
{
"COMMON": {
"EDIT": "Edit",
"FINISH": "Finish"
"QUIT": "Quit",
}
}
因此在更正结构后,应用程序 运行 没有错误。
- 其次,问题的另一个原因可能是,在运行时 t运行sloco 无法在所选语言中找到正确的标签,因此它寻找后备语言,但它甚至找不到在 transloco-root.module.ts 所以在添加我的后备语言之后,它试图在 transloco-root.module.ts.[=33 中指定的后备语言中找到相同的语言=]
所以它找到了那个标签,问题就解决了。
但是 在提供的第二个解决方案中,您至少需要在该后备语言的 json 文件中以正确的格式包含该错误标签。
我添加了如下后备语言:
useValue: translocoConfig({
availableLangs: ['fr', 'en'],
defaultLang: 'en',
reRenderOnLangChange: true,
fallbackLang: 'fr',
prodMode: environment.production,
missingHandler: {
logMissingKey: true
}
})
我已经在我的应用程序上安装了 angular universal。
运行 npm run build:ssr
- 完成。作品。
运行 npm run server:ssr
- DONE.WORKS.
访问服务器 URL (localhost:4000) 后,页面未完全加载,终端出现以下错误:
i18n Transloco 未在模块文件中完全配置。
我也遇到了同样的问题,所以我想分享一下我的发现。
对我来说,有两个似是而非的causes/solutions:
- 首先,在我项目的 I18N 默认 JSON 文件中 en.json,我在 [=45= 的结构中遇到了问题] 文件。
例如,我犯了以下错误。我错过了第二个标签后的逗号 'FINISH' :
{
"COMMON": {
"EDIT": "Edit",
"FINISH": "Finish"
"QUIT": "Quit",
}
}
因此在更正结构后,应用程序 运行 没有错误。
- 其次,问题的另一个原因可能是,在运行时 t运行sloco 无法在所选语言中找到正确的标签,因此它寻找后备语言,但它甚至找不到在 transloco-root.module.ts 所以在添加我的后备语言之后,它试图在 transloco-root.module.ts.[=33 中指定的后备语言中找到相同的语言=]
所以它找到了那个标签,问题就解决了。
但是 在提供的第二个解决方案中,您至少需要在该后备语言的 json 文件中以正确的格式包含该错误标签。
我添加了如下后备语言:
useValue: translocoConfig({
availableLangs: ['fr', 'en'],
defaultLang: 'en',
reRenderOnLangChange: true,
fallbackLang: 'fr',
prodMode: environment.production,
missingHandler: {
logMissingKey: true
}
})