我正在尝试部署一个 Angular 7 应用程序,该应用程序使用 ngx-translate 和/dist/assets 文件夹中的翻译语言文件。我在 build.gradle 中指定了正确的 base href。部署后,我看到所有内容都加载了,除了返回错误代码 404(未找到)的语言文件。
我试过以几种不同的方式更改 angular.json 文件。我尝试更改 TranslateHttpLoader。似乎没有任何工作。我可以在/dist 文件夹中看到包含所有语言文件的 i18n 文件夹。然而,它没有被引用。
在 app.module.ts
export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');
}
在 angular.json 中
"assets": [
"src/favicon.ico",
"src/assets"
],
但我最终在浏览器中收到此错误:
/assets/i18n/en.json 404 未找到
任何帮助,将不胜感激!
最佳答案
我遇到了和你一样的问题,我相信它与这个命令有关:
ng build --prod
尝试使用此命令:
ng build --base-href=/deployed_app_name/ --prod
例如,如果您部署的应用程序名称是:
stackoverflow
命令应该是这样的:ng build --base-href=/stackoverflow/ --prod
在这里,您将拥有 i18n json 文件的正确路径
关于angular7 - 未找到 Angular 7 prod build i18n 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56242891/