티스토리 뷰
필요한 것
-
서버리스 플랫폼 (Firebase Cloud Functions, AWS Lambda 등)
-
클라우드 스토리지 (Firebase Storage, AWS S3 등)
-
Puppeteer
-
Handlebars (HTML 템플릿 언어)
방법
-
각 서버리스 플랫폼에서 제공하는 프로젝트 초기화 방식으로 node.js 기반의 서버를 생성한다.
-
puppeteer와 handlebars를 npm으로 설치
-
템플릿으로 사용할 HTML 파일을 클라우드 스토리지에 올려둔다.
-
함수 내부 플로우
-
클라우드 스토리지에서 파일을 다운받는다.
-
API body로 템플릿에 필요한 파라미터를 가져온다.
-
추가 계산/분석 로직이 필요하면 작업한다.
-
handlebars를 이용해 컴파일하고 결과물을 임시로 만든 html 파일에 저장한다. (node.js의 기본모듈 path, fs 사용)
-
저장한 html 파일을 puppeteer를 이용해 pdf로 export 시킨다.
-
Response.sendFile로 생성된 pdf 파일을 전달
-
response.on('finished') 이벤트가 호출되면 fs에 링크된 html, pdf 파일 (임시) 들을 unlink 한다.
-
레퍼런스
'거인의 어깨위에 서려는 > 트렌디한 개발자를 위한' 카테고리의 다른 글
Git 여러가지 실수에 대처하는 방법 (0) | 2020.07.22 |
---|---|
ZSH 설정 팁 (for Mac) (1) | 2020.06.26 |
Angular8 : 새로운 기능 요약 (0) | 2019.06.08 |
저는 React Native가 처음인데요 - 2 (0) | 2019.01.26 |
저는 React Native가 처음인데요 (0) | 2019.01.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- multiDex issue
- 구독료 계산기
- 이미지 일괄 변경
- MVP
- 최은영작가님
- 아키텍처
- retrofit
- git ssh 연동
- 소프트웨어 공학
- 이미지 여백주기
- React Native
- 안드로이드
- Android
- 스크럼
- 좋은 습관이란
- egghead
- 쉽게 말하는법
- patch-packages
- iterms
- go
- release build issue
- 애드 캣멀
- node.js
- 시간 관리
- 그리고 상상력
- 공존이 필요해요
- git 실수
- 창의성을 지휘하라
- gradle
- 소름돋는필력
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함