Spring Boot替代索引页



我的应用程序在后端使用Spring Boot,在前端使用SPA(Angular)站点。目前,我正在webapp文件夹中提供index.html页面,它可以自动工作,无需配置。现在,我使用gump为前端集成了一个构建过程,所有创建的源都被"复制"到build目录中。现在,我想将build目录中的index.html文件作为主页。

我尝试了spring.application.index=build/index.html和其他一些弹簧引导设置,但都不起作用。我相信我目前的代码库中不需要任何代码,但如果有什么遗漏,请告诉我。

有没有办法在applications.properties文件中对此进行配置?我需要为索引页创建一个控制器吗?或者有其他方法可以更改默认行为吗?

感谢

根据常见的Spring Boot属性,您应该能够修改此属性:

spring.application.index=

诚然,我确实倾向于用@RequestMapping("/")创建一个最小的"主"控制器。:)

值得注意的是,如果build目录位于src/main/resources之下,那么它只会在类路径上。同样值得一提的是,src/main/webapp的内容不会自动绑定到jar中。src/main/resources/static是Spring Boot查找静态web文件的地方。因此,你有几个选择。

选项1:将Grunt构建配置为输出到src/main/resources/static下的目录。

选项2:将Java构建工具配置为获取Grunt输出,并将其放在resources目录中,使其位于类路径中。例如,使用Maven,下面将把名为build的目录的内容移动到src/main/rescources/static中。

<plugin>
  <artifactId>maven-resources-plugin</artifactId>
  <version>2.6</version>
  <executions>
    <execution>
      <id>copy-resources</id>
      <phase>validate</phase>
      <goals>
        <goal>copy-resources</goal>
      </goals>
      <configuration>
        <outputDirectory>${basedir}/target/classes/static</outputDirectory>
        <resources>
          <resource>
            <directory>build</directory>
            <filtering>true</filtering>
          </resource>
        </resources>
      </configuration>
    </execution>
  </executions>
</plugin>

最新更新