[웹 개발 모듈] JsReport 설치 및 관리 팁

tmkor(55)
Published in
#kr-dev
Words
157
Reading
1 min
Listen
Play
9y

안녕하세요, tmkor@tmkor입니다. 오늘 소개드릴 웹 개발 모듈은 JsReport 입니다. 자바스크립트로 만든 리포트 생성 엔진입니다. 모든 갑님들이 좋아하는 리포트를 HTML, PDF, Xslx 등의 포맷으로 만들어주는 아주 귀한 아이 입니다. IDE도 제공하기 때문에 한번 사용해보시면 매우 만족스러울 것입니다.

https://jsreport.net/

개념

  • node.js로 만든 리포트 렌더링 엔진
  • 렌더링 엔진은 daemon의 형태로 구동
  • 특정 포트로 접속하여 사용 가능함
  • REST 방식의 API 지원
  • angular.js와 유사하게 MVC 형식으로 리포트 양식 작성
  • HTML, PDF, Excel 등으로 내보내기 가능
  • PDF의 경우 phantom을 사용하는 등 node.js의 타 모듈과 의존성을 가지고 있음

평가

  • 비즈니스 용도의 웹 프로그램을 개발 할 때 사용하지 않을 이유가 없다.

설치법

  • installing nodejs (optional)
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install npm@latest -g
  • installing jsreport
npm install jsreport-cli -g
mkdir /home/lucm/jsreport/
cd /home/lucm/jsreport/
jsreport init
jsreport start

tip - Apache2 프록시

  • 프록시 모듈 추가
sudo a2enmod proxy
sudo a2enmod proxy_connect
sudo a2enmod proxy_http
  • site conf에 다음 구문 삽입 (예: 주소/report)
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass /report http://localhost:5488
    ProxyPassReverse /report http://localhost:5488
    ProxyPass /studio http://localhost:5488/studio
    ProxyPassReverse /studio http://localhost:5488/studio
  • 아파치 재시작
sudo apache2ctl restart

참고 - https://forum.jsreport.net/topic/97/base-url-for-jsreport-studio

tip - 한글 사용

  • HTML 헤더에 인코딩을 추가하면 됨
<html>
    <head>
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
    </head>
    <body>
        ...
    </body>
</body>

tip - REST 방식으로 데이터 불러오기

  • 기본 설정은 http request 모듈 사용이 막혀 있음

  • dev.config.json 파일의 script, allowdModules에 http를 추가

"scripts": {
    "allowedModules": ["http"],
    "timeout": 60000
},

tip - 자동 실행

  • using pm2
npm install pm2 -g
pm2 start server.js
pm2 startup
pm2 save
[웹 개발 모듈] JsReport 설치 및 관리 팁 | Ecency