jennifer5-frontend
v1.0.1
Published
<!-- [START badges] --> [![pipeline status](https://git.jennifersoft.com:6443/rnd/jennifer5-server/badges/develop/pipeline.svg)](https://git.jennifersoft.com:6443/rnd/jennifer5-server/-/commits/develop) [![coverage report](https://git.jennifersoft.com:644
Downloads
46
Readme
IntelliJ 웹팩 설정
- Preferences... > Languages & Frameworks > JavaScript > Webpack > webpack configuration file:
- view-server/webpack.common.js 경로를 설정해야 함
Main 클래스 설정
- Main class: com.jennifersoft.view.Main
- VM options : -Xms4g -Xmx4g -Djennifer.viewserver.config=./src/conf/server_view.conf -Daries.viewserver.dev.menu.version=5.5.2
- Program arguments : start java
- Working directory : /jennifer5-server/view-server
pnpm 명령어 정리
- pnpm start : pnpm run build를 한번 실행하고, 다음부터는 pnpm start를 실행해야 함
- pnpm run remote : 제니퍼 뷰서버는 원격에 있는 개발 서버를 바라보고, 로컬에서 FE 코드만 개발할 수 있음 (단, 신규 화면 추가시 서버 작업 필요)
- pnpm run local : 로컬에서 제니퍼 뷰서버 패키지를 띄우거나 재택 근무시 ssh 터널링을 통해 개발 할 수 있음 (ssh [email protected] -p 1022 -L 7900:192.168.0.10:8000 -N)
- pnpm run build : JSP 템플릿에 번들 파일이 로드되어야 개발이 가능함. 그래서 pnpm start를 실행하기 전에 한번만 실행하면 됨
- pnpm run entry : pnpm run build와 pnpm start를 같이 쓰는 경우에 사용하면 됨 (리소스를 많이 사용하기 때문에 가급적 사용하지 않는게 좋음)
- pnpm run dist : 로컬에서 JS 파일을 번들링할때 사용함 (entry를 7901포트로 실행하지 않고 IntelliJ에서 단독 뷰서버만 운영하고 싶을때 사용)
- pnpm run dist-minify : 위와 동일하며 번들 파일을 최적화 함
- pnpm run i18n : 다국어 메시지 동기화
- pnpm run manual : 매뉴얼 동기화
- pnpm run color : 컬러 코드 동기화
화면 개발시 주의사항
- 제니퍼 프론트엔드 코드는 멀티 엔트리 방식을 사용하며, 현재는 100개가 넘게 존재하기 때문에 모든 엔트리를 빌드하면 메모리를 많이 사용한다.
- 그렇기 때문에 현재 개발하는 화면 위주로 엔트리를 선정하면 되며, webpack.entry.js 파일에서 빌드가 필요하지 않는 엔트리는 주석처리하면 된다.
- 엔트리는 webpack.entry.js 파일을 통해 관리하며 GIT에 추가되어 있기 때문에 아래와 같은 명령어로 제외하고 개발하는 것을 권장한다.
- git update-index --assume-unchanged webpack.entry.js : GIT 소스 추적 제외
- git update-index --no-assume-unchanged webpack.entry.js : GIT 소스 추적 제외 취소
글로벌로 가져오는 모듈 목록
- jquery : default_js.jsp 템플릿에서 가져오기 때문에 전체 화면에서 사용한다.
- summernote-lite : edit.jsp 템플릿에서만 가져와서 사용한다.
도커에서 빌드
docker-compose build docker-compose up client-dist
뷰서버 실행 방법
- 빌드된 JS를 기준으로 뷰서버를 띄우고 싶다면 (배포 버젼과 동일)
- pnpm run dist
- com.jennifersoft.view.Main 실행
- localhost:7900 에서 확인
- 뷰서버를 띄운 상태에서 JS를 동적 로드를 하고 싶다면
- com.jennifersoft.view.Main 실행
- pnpm run entry
- localhost:7901 에서 확인
Jetty 버젼업 시도시 유의사항
- aries.launcher.Main.java 에서 getLibraryFiles() 하드코딩 된 부분수정 해야한다. (apache-jsp)
다국어 메시지 가이드
- 로컬에서 메시지가 안나올 경우, pnpm run i18n 명령어를 실행하고 뷰서버를 다시 시작할 것
- Google 스프레드시트 링크
Open API 문서 동기화
- jennifer5-server의 상위 디렉토리에 제니퍼 개발자 가이드를 checkout 받는다.
- jennifer5-server/view-server/src/test/java/com/aries/builder/SwaggerBuilder 클래스를 실행한다.
- SwaggerBuilder 클래스를 실행하면 jennifer-developer-guide/src/resources 디렉토리에 spec.json이 생성된다.
- 제니퍼 개발자 가이드에서 pnpm start를 하거나 pnpm run build를 하면 static한 Open API 문서가 생성된다.