【问题标题】:Angular 9 - How to localize deployUrl in architect build optionsAngular 9 - 如何在架构师构建选项中本地化 deployUrl
【发布时间】:2022-09-30 21:50:03
【问题描述】:

我有一个具有两种语言的 Angular 9 应用程序,定义如下:

\"i18n\": {
    \"sourceLocale\": \"hu\",
    \"locales\": {
        \"en\": \"src/locale/messages.en.xlf\"
    }
}

我在 projects/{app-name}/architect/build/options 中定义了 baseHref 和 deployUrl,例如:

\"baseHref\": \"/app/\",
\"deployUrl\": \"/app/\",

然后我用这个构建:

ng build --prod --localize

我得到两个文件夹,一个 \"en\" 文件夹和一个 \"hu\" 文件夹。它们几乎相同,但让我们看一下 index.html 文件之一:

<!doctype html>
<html>
    <head>
        <!-- ... -->
        <base href=\"/app/en/\">
        <!-- ... -->
        <link rel=\"stylesheet\" href=\"/app/styles.3f60016a42d1eacbb401.css\">
    </head>
    <body>
        <app-root>
            <div class=\"app-loading\">
                <div class=\"logo\"></div>
                <svg class=\"spinner\" viewBox=\"25 25 50 50\">
                    <circle class=\"path\" cx=\"50\" cy=\"50\" r=\"20\" fill=\"none\" stroke-width=\"2\" stroke-miterlimit=\"10\"/>
                </svg>
            </div>
        </app-root>
        <script src=\"/app/runtime.b9d5a643eaec08dff166.js\" defer></script>
        <script src=\"/app/polyfills-es5.ee5154a1b39b612dbe59.js\" nomodule defer></script>
        <script src=\"/app/polyfills.0f52d4dd345a2ffd7759.js\" defer></script>
        <script src=\"/app/main.568a6377a283efe22a64.js\" defer></script>
    </body>
</html>

如您所见,\"en/\" 附加到了 baseHref,但在使用 deployUrl 的地方,缺少 \"en/\" 附录。

我做了很多搜索,但没有找到任何解决方法。这可能是我很抱歉,但请帮忙。

    标签: angular internationalization angular9 angular-localize


    【解决方案1】:

    我对我的设置有同样的问题。

    但在你的情况下,你可以省略deployUrl。然后脚本会像

    <script src="runtime.b9d5a643eaec08dff166.js" defer></script>
    

    然后浏览器将在您的baseHref 位置搜索该文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      相关资源
      最近更新 更多