一尘不染

使用AngularJS html5Mode的Spring Boot

spring-boot

我使用Spring Boot启动Web应用程序。它使用一个简单的主类来启动嵌入式tomcat服务器:

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {

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

}

我想以他可以处理的angularjs html5mode方式配置服务器

$locationProvider.html5Mode(true);

其他用户的相关发布表明您需要重定向到根目录。在html5模式下,从网址中删除哈希包。如果刷新页面,服务器将找不到该页面,因为他不处理哈希。


阅读 365

收藏
2020-05-30

共1个答案

一尘不染

我找到了可以接受的解决方案。

@Controller
public class ViewController {

    @RequestMapping("/")
    public String index() {
        return "index";
    }

    @RequestMapping("/app/**")
    public String app() {
        return "index";
    }
}

angularjs应用必须在子域应用下。如果您不希望这样做,则可以创建一个子域(例如app.subdomain.com),该子域映射到您的子域应用程序。使用此构造,您不会与webjar,statis内容等发生冲突。

2020-05-30