angular7 - 未找到 Angular 7 prod build i18n 文件

标签 angular7 ngx-translate ng-build

我正在尝试部署一个 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/

相关文章:

node.js - 不存在 'Access-Control-Allow-Origin' header .. Angular 7 和 Express

angular - 构建 Angular 应用程序并放置在服务器上

html - 编译 Angular6 元素时出错

Angular 国际化 ( ngx-translate/i18n OR i18next )

angular - 在 ng build --prod am gettng 错误上,属性 'email' 在类型 'Object 上不存在

html - 使用 *ngIf = "pet.doado === false"时删除空格

angular - 如何在 Angular 7 模块设置中延迟加载模式

angular - 为 Angular 7 中的 ng e2e 测试设置特定环境,而无需为应用程序提供服务

Angular/ngx-translate 在内部模块中使用单独的翻译不起作用

javascript - 在 forRoot 中使用获取的配置