【发布时间】:2022-11-12 06:52:42
【问题描述】:
我正在开发一个 Angular 14 应用程序。此应用程序已本地化 @angular/localize。 当我运行 npm 构建时,我添加了 --localize。构建创建的文件夹结构为:dist -> app-name -> local (fr, en, de..)
我将 dist 文件夹推送到一个非常简单的 Nodejs 中。它就像一个魅力。
现在我想在 Azure 静态 Web 应用程序上部署应用程序。我转到门户,然后创建应用程序。 现在构建失败了:未能在应用程序工件文件夹 (dist/app_name) 中找到默认文件。有效的默认文件:index.html,Index.html
我不明白原因。如果我推送一个非 i18n 应用程序,部署是好的,因为构建只在 dist/app_name 中创建一个 index.html。 我试过了:
- 使用 angular.json 中的资产直接复制 /dist/app_name 下的 index.html。但是角度副本总是在本地目录中。
- 我运行构建后事件:ng build --configuration production --localize && cp /postbuild/index.html dist。该命令在我的本地环境中完美运行。但是,在天蓝色上,错误直接出现在 ng 构建之后,即在 cp 命令之前。
- 我部署了一个 staticwebapp.config.json。但是重定向是在部署应用程序时进行的,而不是在编译期间。
当我使用命令时:ng build --configuration 生产 --localize=en, angular 仅部署 en 本地化。因此一切都运行。
所以我的问题是:是否可以在 azure 静态 Web 应用程序上运行 i18n Angular,而无需为每个语言环境创建一个静态 Web 应用程序?非常感谢
【问题讨论】:
标签: angular internationalization azure-static-web-app