switch

spring-react 통합빌드 라우팅 본문

back-end/spring

spring-react 통합빌드 라우팅

5witch 2022. 5. 31. 16:22

build.gradle을 이용해서

 

spring 프로젝트 폴더에서  frontend 폴더를 따로 관리하며 

 

빌드 시 jar파일로 통합 빌드가 가능하다.

 

(자세한 건 밑 블로그 참고)

https://7942yongdae.tistory.com/136

 

Spring - 실무에서 사용하는 React + SpringBoot 프로젝트 만들기 with Gradle

이 글에서는 실무에서 사용할 수 있는 React + SpingBoot 프로젝트 구조를 만드는 과정을 알아보겠습니다. 이전에 Vue + SpringBoot 프로젝트를 만드는 방법을 알아보았는데요. 이 방법은 전문가처럼 React

7942yongdae.tistory.com

 

 

이때 spa의  특성을 고려해볼 필요가 있다

 

react, vue, svelte 같은 것들은  한 html에 js를 넣어주는 구조이다.

 

이렇게 스프링 내에서 동시에 빌드된 경우

 

웹상에서 보기에는 여러 도메인이 있는 것처럼 보이지만

 

사실 한 html안에서 react 내부 라우터 같은걸 통해서 연결되는 느낌?

 

결국 한 html이라는 소리이다.

 

 

 

예를 들어  local.com  이 기본 url root고

 

local.com/login에 들어갔다고 하면

 

react라우터에는 /login 이 있을지 몰라도

 

spring에서는 해당 URL Mapping이 컨트롤러에 없다. index.html만 띄워줄 뿐..

 

이렇게 되면 local.com/login은 jar파일이 실행되고 있어도 아무것도 없는 페이지라고 뜨게 되는 것.

 

 

이런 경우 서버 쪽에서 error가 발생해도 리액트 페이지로 유도해야 한다.

@Controller
public class ReactController implements ErrorController {
    @GetMapping({"/", "/error"})
    public String reactPage() {
        return "index.html";
    }
}

 

 

 

(자세한 건 밑 블로그 참고)

https://lemontia.tistory.com/912

 

[react, springboot] react 와 spring boot 로 구성하기, 묶어 build 하기

Springboot 프로젝트를 생성한다. 여기서는 Intellij 를 이용해 생성했고, Gradle과 Java 버전 11을 사용했다. 이 과정은 생략하겠다. ​ ​ react를 설치하는 방법은 다양하지만 여기서는 Create react app 을

lemontia.tistory.com

 

'back-end > spring' 카테고리의 다른 글

Spring IoCContainer  (0) 2023.02.14
[Spring] restdocs로 테스트와 api문서를 동시에 작성하기 (작성중)  (0) 2022.10.06
스프링 bean..  (0) 2022.05.09
스프링과 객체지향 OCP,DI  (0) 2022.04.27
Comments