본문 바로가기

Nodejs

(15)
Nodejs 로그 라이브러리 (log4js or winston) 적용 log4js 스프링을 하다가 Nodejs로 넘어온뒤 가장 낯익은 로그 라이브러리는 log4js 였다. log4js 의 장점은 설정 옵션이 간단한 편? 이라고 생각한다. 일단 라이브러리부터 설치한다. ## npm $ npm i --save log4js ## yarn $ yarn add log4js 이 후, log4js 설정파일을 만든다. (파일로 안만들고 바로 넣어도된다..) ## ./log4js.json { "appenders": { "app": { "type": "console" }, "infoFile": { "type": "file", "filename": "./log/info.log", "maxLogSize": 524288, "numBackups": 3, "compress": true }, "inf..
Nodejs PM2 배포 - ecosystem.config.js (babel 적용) 운영 환경 배포를 위한 PM2 설치 npm install -g pm2 (pm2 는 global로 설치하는게 편하다..) 기본적으로 pm2 를 이용해 인스턴스를 구동하는 방법은 간단하다. pm2 start server.js 옵션은 공식 pm2 사이트에서 확인. (https://pm2.keymetrics.io/docs/usage/quick-start/) PM2 - Quick Start Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance. pm2.keymetrics.io 정상적으로 인스턴스가 실행되면, ..
Nodejs 상대경로 지옥 탈출하기 Nodejs 로 개발하다보면 상대경로의 지옥에 빠질 때가 있다. 예를들면,, const authUserService = require('../../../service/auth/authUser.service'); const { config } = require('../../../../initialize') 감수하고 개발을 진행할 수 있는 있지만, 소스코드 상단에 아주 지저분한 부분이 생긴 느낌이다. 이 상대 경로를 별칭으로 지정할 수 있는 'better-module-alias' 를 설치한다. $ npm install --save better-module-alias 또한 package.json 파일 내에 '_moduleAliases' 라는 키 값으로 별칭을 지정하면 된다. // package.json "_m..
Nodejs 개발환경 구성(nodemon, babel-node) ※ 나는 Nodejs 버전 관리를 위해 NVM 을 사용한다. NVM 설치 및 사용방법은 아래 링크를 참고. https://velog.io/@ejchaid/윈도우에서-nvm-설치 [node.js]윈도우에서 nvm 설치 nvm: node.js 버전이 다른 개발환경에서 필요시 version을 변경하기 위해 NVM(Node Version Manager)을 설치 제어판에서 기존 node.js 제거 최신버전의 NVM을 설치 (setup으로 설치) 다운로드 : https://github.com/coreybu velog.io Nodejs 의 서버를 구동하기 위해서 사용하는 명령어는 $ node server.js 일 것이다. 개발 시 소스변경 할 때마다 명령어를 다시 치기는 너무 번거롭다. 이 때문에, 소스 변경감지 시..
Nodejs Express + Sequelize 기본 셋팅(Postgresql) Nodejs 의 ORM Sequelize 초기 셋팅을 위한 라이브러리 설치 // npm $ npm i --save sequelize $ npm i --save pg pg-hstore $ npm i --save js-yaml // yarn $ yarn add sequelize $ yarn add pg pg-hstore $ yarn add js-yaml // sequelize/index.js const { Sequelize, Op, DataTypes } = require('sequelize'); const fs = require('fs'); const path = require('path'); const basename = path.basename(__filename); const yaml = require..