1.0.1 • Published 28 days ago

jennifer5-frontend v1.0.1

Weekly downloads
-
License
-
Repository
-
Last release
28 days ago

pipeline status coverage report ktlint

IntelliJ 웹팩 설정

  1. Preferences... > Languages & Frameworks > JavaScript > Webpack > webpack configuration file:
  2. view-server/webpack.common.js 경로를 설정해야 함

Main 클래스 설정

  1. Main class: com.jennifersoft.view.Main
  2. VM options : -Xms4g -Xmx4g -Djennifer.viewserver.config=./src/conf/server_view.conf -Daries.viewserver.dev.menu.version=5.5.2
  3. Program arguments : start java
  4. Working directory : /jennifer5-server/view-server

pnpm 명령어 정리

  • pnpm start : pnpm run build를 한번 실행하고, 다음부터는 pnpm start를 실행해야 함
  • pnpm run remote : 제니퍼 뷰서버는 원격에 있는 개발 서버를 바라보고, 로컬에서 FE 코드만 개발할 수 있음 (단, 신규 화면 추가시 서버 작업 필요)
  • pnpm run local : 로컬에서 제니퍼 뷰서버 패키지를 띄우거나 재택 근무시 ssh 터널링을 통해 개발 할 수 있음 (ssh USER_ID@support.jennifersoft.com -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 : 컬러 코드 동기화
화면 개발시 주의사항
  1. 제니퍼 프론트엔드 코드는 멀티 엔트리 방식을 사용하며, 현재는 100개가 넘게 존재하기 때문에 모든 엔트리를 빌드하면 메모리를 많이 사용한다.
  2. 그렇기 때문에 현재 개발하는 화면 위주로 엔트리를 선정하면 되며, webpack.entry.js 파일에서 빌드가 필요하지 않는 엔트리는 주석처리하면 된다.
  3. 엔트리는 webpack.entry.js 파일을 통해 관리하며 GIT에 추가되어 있기 때문에 아래와 같은 명령어로 제외하고 개발하는 것을 권장한다.
    • git update-index --assume-unchanged webpack.entry.js : GIT 소스 추적 제외
    • git update-index --no-assume-unchanged webpack.entry.js : GIT 소스 추적 제외 취소
글로벌로 가져오는 모듈 목록
  1. jquery : default_js.jsp 템플릿에서 가져오기 때문에 전체 화면에서 사용한다.
  2. summernote-lite : edit.jsp 템플릿에서만 가져와서 사용한다.
도커에서 빌드

docker-compose build docker-compose up client-dist

뷰서버 실행 방법

  1. 빌드된 JS를 기준으로 뷰서버를 띄우고 싶다면 (배포 버젼과 동일)
    • pnpm run dist
    • com.jennifersoft.view.Main 실행
    • localhost:7900 에서 확인
  2. 뷰서버를 띄운 상태에서 JS를 동적 로드를 하고 싶다면
    • com.jennifersoft.view.Main 실행
    • pnpm run entry
    • localhost:7901 에서 확인

Jetty 버젼업 시도시 유의사항

  • aries.launcher.Main.java 에서 getLibraryFiles() 하드코딩 된 부분수정 해야한다. (apache-jsp)

다국어 메시지 가이드

Open API 문서 동기화

  1. jennifer5-server의 상위 디렉토리에 제니퍼 개발자 가이드를 checkout 받는다.
  2. jennifer5-server/view-server/src/test/java/com/aries/builder/SwaggerBuilder 클래스를 실행한다.
  3. SwaggerBuilder 클래스를 실행하면 jennifer-developer-guide/src/resources 디렉토리에 spec.json이 생성된다.
  4. 제니퍼 개발자 가이드에서 pnpm start를 하거나 pnpm run build를 하면 static한 Open API 문서가 생성된다.