目录
背景
前端Vue项目和后端Java项目合并为一个项目
操作步骤
1、在resources目录下创建front目录和static目录
2、前端执行打包命令
npm run build
3、将dist目录下的所有文件拷贝至static目录
4、在pom.xml中添加配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
5、若前端样式有问题,pom.xml中添加配置,避免文件扩展名woff、woff2、ttf在构建过程中被转换、过滤或处理
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>woff2</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
6、application.yml配置
spring:
web:
resources:
static-locations: classpath:/static/
7、实现MVC相关配置
@Order(1)
@Configuration
public class WebApplicationConfig extends WebMvcConfigurationSupport {
@Value("${spring.web.resources.static-locations}")
private String resourceStaticLocations;
@Override
public void addCorsMappings(CorsRegistry registry) {
//设置允许跨域的路径
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowCredentials(true)
.allowedMethods("*")
.maxAge(3600);
}
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(resourceStaticLocations);
}
@Override
protected void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("forward:/index.html");
}
}