使用 Firebase 本地化部署 Angular 10 个应用程序

Deploy Angular 10 app with localize using Firebase

我正在使用 Angular 10(目前最新版本)和 @angular/localize 将我的应用程序翻译成法语和英语。

一切都配置好了。

对于构建,我使用这个命令:

"build:prod": "ng build --prod --localize"

给出:

我想使用 Firebase 部署应用程序。我在 运行 firebase init hosting

时正确设置了所有内容

firebase.json 看起来像:

{
  "hosting": {
    "public": "dist/myAngularApp",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

现在我的问题是 dist/myAngularApp 的根目录下没有 index.html 文件,因此在部署和定位默认 url 时,没有显示任何内容。

例如:

我想默认呈现应用程序的英文版本,我希望在使用特定选项构建项目时或在 angular.json 文件中指定它。

有什么想法吗?

谢谢!

在您的 firebase.json:

中为您的托管对象添加重写规则
"rewrites": [ 
  { "source": "**", "destination": "/en/index.html"} 
]

现在您可以设置国际化重写。请添加:

//firebase.json

"i18n": {
    "root": "localized-files" //directory that contains your i18n folders
 }

Firebase 根据“Accept-Language”header

的值提供内容

完整参考位于:https://firebase.google.com/docs/hosting/i18n-rewrites