Spartacus启用SSR时i18n的PT文件夹JSON文件全部返回404错误
Spartacus SSR 环境PT语言i18n资源404排查方案
以下是按优先级排序的排查步骤:
- 路径大小写匹配校验
SSR服务端对资源路径的大小写敏感度远高于本地开发环境,先确认两个核心点:- 你的
spartacus-configuration.module.ts中i18n的loadPath配置里代表语言的占位符解析后的大小写,是否和assets下实际的PT文件夹大小写完全一致 - 如果配置中使用的语言编码是
pt或pt-PT,而实际文件夹是大写PT,需要添加编码映射配置,示例如下:
provideConfig({ i18n: { encodingMap: { 'pt': 'PT', 'pt-PT': 'PT' } } }) - 你的
- 静态资源打包与放行校验
- 检查
angular.json的projects.[你的项目名].architect.build.options.assets配置,是否已经将自定义的i18n目录加入打包规则,确保build后dist目录下存在对应的PT文件夹和JSON文件,配置示例:
"assets": [ "src/favicon.ico", "src/assets", { "glob": "**/*.json", "input": "src/assets/[你的i18n根目录名]", "output": "assets/[你的i18n根目录名]/" } ]- 检查
server.ts中的静态资源路由规则,是否已经放行JSON格式的i18n资源,避免SSR服务端拦截静态资源请求返回404。
- 检查
- loadPath路径根路径校验
确认i18n backend的loadPath配置没有拼写错误,根路径是否对应实际的assets目录层级,不要多写/漏写路径层级。
内容的提问来源于stack exchange,提问作者Rodrigo Roberto de Almeida
相关产品推荐
相关产品推荐

