我已经用angular/cli
和i18n multilanguage support
(以及英语,西班牙语,法语的翻译)构建了Angular 8应用程序。
这样我就可以多次构建我的应用程序,每种语言都可以构建一个应用程序,并且构建文件保存在dist/my-app/en
,dist/my-app/es
,dist/my-app/fr
等中……
现在,我想在Google App Engine上部署我的应用程序,但是我不明白我应该做什么/配置以部署我的所有lang特定版本的应用程序。
我已经在GAE上发布了我的默认(英文)版本,并且可以运行,但是我不知道如何/在何处部署所有其他版本(es,fr等)。
我应该使用调度文件吗?最好的方法是什么?
谢谢!
答案 0 :(得分:1)
您可以将dist/my-app
视为与AppEngine有关的根文件夹。
要构建具有多个语言环境的多个应用程序,请选中Angular official docs。
每个href应设置为语言环境:
"baseHref": "/en/",
然后,更新app.yaml
和处理程序以服务所有子文件夹。
例如,它应该类似于:
handlers:
- url: /fr/(.+)
static_files: app/fr/index.html
upload: app/fr/index.html
- url: /en/(.+)
static_files: app/en/index.html
upload: app/en/index.html
- url: /(.+)
static_files: app/index.html
upload: app/index.html
- url: /
static_files: app/index.html
upload: app/index.html
但是我不是处理程序正则表达式的专家,所以我敢肯定可以对其进行优化。
Deploy文件夹应如下所示:
deploy
app.yaml
app
index.html // page to propose user to select locale or auto redirect
fr
index.html
bundles.js...
en
index.html
bundles.js...