매번 front 안에서 npm run build 명령 후 back 의 ~/resource/static 폴더로 이동이 귀찮으므로 한번에 할수 있게 만들어야함
개발환경 및 의존성
java : 11
Gradle : 7.0
추가 plugin
id "com.moowork.node" version "1.3.1" //npm 명령할때 필요
사용법
1. 기존 사용방식
1. Run ApiApplication
기존방식처럼 ApiApplication 을 Run 하게 되면 gradle 에서 build 와 compileJava 만 수행하게 되어
npm run build 와 복사기능이 작동하지 않게 만들어 놓았음
매번 실행마다 React build 와 복사가 이루어 진다면 오래 걸리므로 기존방식체제를 유지함
back 단 로직만 바꿀때는 그냥 run 만 클릭하여 실행할것
2. React build 와 파일 가져오는 방식
1. 처음 상황
다음과 같이 resource 에 제공할 파일이 없고
react 에도 build 폴더가 없음
2.실행하기
intelliJ 에서 gradle->other->loadFrontPage 를 더블클릭하여 수행한다
콘솔에서 loadFront page task 가 수행되는지 확인
3.결과 확인
build terminal 에서 확인
파일생성 확인
npm run build 후 front 폴더에 build 결과가 생성된것 확인가능
resource 폴더 안으로 옮겨진것 확인가능
고민할점
추후에 배포할때는 build.gradle 파일 마지막에 build.dependsOn(loadFrontPage) 을 추가하여
gradle build 만하여도 알아서 front 파일들을 받아서 같이 jar 로 동봉하려고 했는데
build task 는 dependsOn 메소드를 지원하지 않음
따라서 java -jar 방식이 아닌 gradle bootRun 을 이용하여 배포하거나
추가적인 몇번의 gradle 명령어
gradle -q loadFrontPage gradle buildjava -jar *.jar
를 통해서 해결해야 될거같음
Gradle 로 React 한번에 빌드
개요
매번 front 안에서
npm run build
명령 후 back 의~/resource/static
폴더로 이동이 귀찮으므로 한번에 할수 있게 만들어야함개발환경 및 의존성
추가 plugin
사용법
1. 기존 사용방식
1. Run ApiApplication
기존방식처럼 ApiApplication 을 Run 하게 되면 gradle 에서 build 와 compileJava 만 수행하게 되어 npm run build 와 복사기능이 작동하지 않게 만들어 놓았음
매번 실행마다 React build 와 복사가 이루어 진다면 오래 걸리므로 기존방식체제를 유지함
2. React build 와 파일 가져오는 방식
1. 처음 상황
다음과 같이 resource 에 제공할 파일이 없고
react 에도 build 폴더가 없음
2.실행하기
intelliJ 에서 gradle->other->loadFrontPage 를 더블클릭하여 수행한다
콘솔에서 loadFront page task 가 수행되는지 확인
3.결과 확인
build terminal 에서 확인
파일생성 확인
npm run build 후 front 폴더에 build 결과가 생성된것 확인가능
resource 폴더 안으로 옮겨진것 확인가능
고민할점
추후에 배포할때는 build.gradle 파일 마지막에 build.dependsOn(loadFrontPage) 을 추가하여
gradle build
만하여도 알아서 front 파일들을 받아서 같이 jar 로 동봉하려고 했는데 build task 는 dependsOn 메소드를 지원하지 않음따라서 java -jar 방식이 아닌
gradle bootRun
을 이용하여 배포하거나 추가적인 몇번의 gradle 명령어gradle -q loadFrontPage
gradle build
java -jar *.jar
를 통해서 해결해야 될거같음참고
gradle 에서 npm build
https://lemontia.tistory.com/912 https://blog.naver.com/varkiry05/221777442335 https://plugins.gradle.org/plugin/com.moowork.node
gradle 문법
http://daplus.net/java-%ED%8A%B9%EC%A0%95-%ED%8C%8C%EC%9D%BC%EC%9D%98-%EC%83%81%EC%9C%84-%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC-%EC%9D%B4%EB%A6%84%EC%9D%84-%EC%96%BB%EB%8A%94-%EB%B0%A9%EB%B2%95/ https://www.python2.net/questions-1210108.htm