我确实有一个提供不同语言的角度应用程序,例如en
和es
。
使用以前的角度版本8.x
,我必须nginx.conf
根据 URL 中的参数语言提供正确的应用程序https://my-app/es
,例如https://my-app/en
:
...
include /usr/share/nginx/nginx.lang.conf;
server {
listen 8080;
server_name localhost;
root /usr/share/nginx/html;
location / {
try_files $uri /myapp/$lang/index.html =404;
}
location /myapp/assets/(.*) {
try_files /myapp/$lang/assets/$1 =404;
}
}
nginx.lang.conf
这是我设置语言的部分:
map $http_accept_language $accept_lang {
default insertDefaultLocale;
}
map $arg_locale $lang_param {
default $accept_lang;
}
map $request_uri $lang {
default $lang_param;
}
它确实按预期工作了。
但是现在我确实将应用程序升级到了版本 10,并且我使用了以下构建命令:ng build --localize --output-path=dist --prod
该命令生成/en
并/es
在下面创建文件夹/dist
以构建应用程序的不同语言。
不幸的是,我无法使用特定语言(例如my-app/en
和/或)调用应用程序my-app/es
。这是一个空白页,因为它没有获取资产的正确路径,而资产路径应该是例如:/my-app/es/stylesxxxxx.css
等/my-app/es/mainxxxxxxxx.js
。我得到的是一条不包含语言路径的资产路径。例如/my-app/stylesxxxxx.css
/my-app/mainxxxxxxxx.js
。
我应该添加和/或更改资产的正确路径以及特定语言的特定应用程序。