본문 바로가기

Develop/Node3

node-gyp rebuild fails during npm install canvas [상황] mac에서 패키지 설치(npm install || yarn)시 오류. npm ERR! canvas@1.2.1 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the canvas@1.2.1 install script. npm ERR! This is most likely a problem with the canvas package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild [원인] canvas 앱에서 X11 을 사용하는데, mac에서 더 이상 기본 지원.. 2022. 10. 23.
[nestjs] How to return image from external API using NestJs? 정적 파일 제공 📑 [ 상황 ] nestjs 를 사용해서 API 서버를 개발하던 중 이미지 파일들을 정적으로 제공해주는 기능에서 삽질이 시작됐다. 이미지 파일 다운로드가 아니라 브라우저 상에서 이미지를 띄우는 기능이다. 1. 프로젝트 폴더 구조 files/images 하위의 파일을 제공하려고 한다. 2. 공식문서 방법 nest 공식문서에서 안내하는 정적파일 제공 방법이다. @nestjs/serve-static 라이브러를 설치하고, ServeStaticModule 설정을 통해 정적파일을 제공할 수 있다고 한다. npm install --save @nestjs/serve-static import { join } from 'path'; import { Module } from '@nestjs/common'; import { .. 2022. 1. 16.
express.urlencoded 가 뭐지? 새로 들어가는 프로젝트의 API 서버 환경설정 중 `express.urlencoded` 옵션이 눈에 들어왔다. 초기에 한번 세팅해두고 무심하게 쓰던 옵션인데 확실히 알아보자. 1. express.urlencoded 란? `urlencoded payload` 와 함께 들어오는 request를 파싱한다. Content-Type 헤더가 `application/x-www-form-urlencoded` 옵션인 요청만 파싱한다. 일치하는 Content-Type 헤가 없거나 / 분석할 body가 없거나 / 파싱오류인 경우 빈 객체({})를 request object에 채운다. body의 UTF-8 인코딩만 허용하고 gszip, deflate 인코딩의 자동확장을 지원한다.(옵션으로 끌 수 있다.) 2. express... 2022. 1. 16.