0

我正在尝试将 Angular i18n 模块集成到我们的 Spring Boot 应用程序中,但我在基本 href 方面遇到了一些问题。我已经为每种语言“de”和“en”构建了我们的应用程序,例如https://medium.com/@feloy/deploying-an-i18n-angular-app-with-angular-cli-fc788f17e358然后复制了我的资源到后端。

Hier 是我在 package.json 中用于 prod 的构建脚本:

"scripts": {
"ng": "ng",
"start-local": "ng serve --env=local",
"build": "ng build",
"buildProd": "for lang in de en; do ng build --output-path=dist/$lang -prod --bh /$lang/ --i18n-file=src/i18n/messages.$lang.xlf --i18n-format=xlf --locale=$lang; done",
"test": "ng test",
"test-coverage": "ng test --code-coverage",
"lint": "ng lint",
"e2e": "ng e2e",
"i18n": "ng xi18n --output-path src/i18n"

}

对于 Spring 配置,我这样做了:

@EnableEurekaClient
@SpringBootApplication
public class ProviderApplication extends WebMvcConfigurerAdapter {

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/myapp/de/**").setViewName("/de/index.html");
    registry.addViewController("/myapp/en/**").setViewName("/en/index.html");
}

public static void main(String[] args) {
    SpringApplication.run(UiProviderApplication.class, args);
}
}

当我尝试在我的浏览器中提供此 url .../myapp/de 时,我将得到 /de/myapp/de 这是基本 href 部分“de”或“en”。

如何从 url 中删除基本 href?我做错了什么?

感谢您的帮助以利

4

1 回答 1

0

--deploy-url=/$lang/ 而不是 base-href 解决了我的问题

于 2018-01-24T21:24:59.877 回答