SpringBoot整合Ant Design Pro進行部署

1、Ant Design Pro 打包css

1.1 運行 build打包html

$ npm run build 1.2 將打包生成的靜態文件拷貝到spring boot 項目中前端

構建打包成功以後,會在根目錄生成 dist 文件夾,而後將dist 文件夾裏的的文件複製到 spring boot 項目的 /src/main/resources/static 目錄下spring

SpringBoot整合Ant Design Pro進行部署npm

2、配置spring boot 項目可訪問到static目錄下的index.html

2.1 以gradle爲例導入spring-boot-starter-thymeleaf瀏覽器

compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '2.1.5.RELEASE' 2.2 在application.yml配置文件中配置服務器

#配置html資源路徑app

spring:ide

thymeleaf:spring-boot

prefix: classpath:static/

2.3 在controller配置訪問地址

/** @author Alan Chen

@description 攔截Ant Design Pro訪問路徑

  • @date 2019/5/24 / @Controller public class AntDesignController { /*
  • 配置url通配符,攔截多個地址
  • @return */ @RequestMapping(value = { "/", "/user", "/user/", "/console", "/console/" }) public String fowardIndex() {

return "index";

}

} 注意:@Controller不是@RestController,使用@RestController會返回「index」字符串

輸入地址 http://localhost:8080http://localhost:8080/user/login 都會轉發到index.html,從而展現Ant Design Pro頁面

2.4 配置spring boot 項目可訪問到static目錄下的js、css

嘗試訪問http://localhost:8080/user/login時,發現如今已經能訪問到index.html了,但頁面報錯了,訪問不到js和css,錯誤頁面以下:

須要配置一下,讓js、css等靜態資源去static目錄下去加載

@Configuration

@EnableWebMvc

public class UseStaticResourceConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");

}

}

3、整合完成

再次訪問http://localhost:8080/user/login 頁面顯示正常

訪問http://localhost:8080/console/commodity/product-brand 顯示後臺界面

4、補充2.3 關於2.3,網上有一種思路是這樣的:

Ant Design構建完成後只有一個index.html頁面和一些js、css文件,當使用browserHistory,若是直接放在Spring Boot的resource/static文件夾下面,當瀏覽器直接訪問或者在非 "/ 「,」/index"路徑刷新時,因爲服務器沒法正確響應,會直接觸發404報錯。

解決思路:瀏覽器訪問任何404錯誤路徑都返回 /index.html文件。剩下的事情交給前端路由

@Controller

public class AntDesignController implements ErrorController {

@Override

public String getErrorPath(){

return "/error";

} @RequestMapping(value = "/error")

public String getIndex(){

return "index"; //返回index頁面

}

} 這種方式也能實現效果,但這種方式使得全部的錯誤請求(404)都會被攔截跳轉到index.html ,其實不太嚴謹,並且給人的感受是,先讓其「出錯」,再來「補救」

參考官方文檔:Ant Design Pro

居然都看到最後了,給小編點個關注吧,小編還會持續更新的,只收藏不點關注的都是在耍流氓!

相關文章
相關標籤/搜索