前后端分离项目,在实际交付时会遇到怎样一个包交付,现总结如下。
springboot项目
1.项目中增加配置类 集成
org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport重写addResourceHandlers方法,具体如下
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//前后端部署在一起时映射resource下的网页
registry.addResourceHandler("/pages/**").addResourceLocations("classpath:/");
}
2.在resources 目录下 新增pages目录
3.新增配置类,防止页面F5刷新时,找不到页面
@Configuration
public class ServletConfig {
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer() {
return factory -> {
ErrorPage errorPage = new ErrorPage(HttpStatus.NOT_FOUND, "/pages/index.html");
factory.addErrorPages(errorPage);
};
}
}
4.前端 vue或angular项目打包后资源放到resources/pages/目录下
5.更改前端访问后端url为实际地址
6. 注意次吃是否需要更改,更改index.html 中 <base href="/pages/">
7.以jar运行,访问地址为 ip:port/pages/