본문 바로가기

node3

import 시 확장자( .js ) 및 index 생략 설명 위의 스샷처럼 import 시 확장자(extenstion)와 index를 생략할 수 있는 편리한 옵션이 있습니다! 방법 다음과 같이 package.json의 scripts 부분을 수정합니다. ... "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "dev": "cross-env NODE_ENV=development && nodemon --experimental-specifier-resolution=node index.js", "production": "cross-env NODE_ENV=production && pm2 start index.js" }, ... --experimental-specifier-resolution=nod.. 2022. 11. 22.
morgan winston 사용 시 파일에 이상한 특수 문자 출력 "" 해결 에러 내용 node js에서 log를 위해 morgan과 winston을 함께 사용했을 때 log file에서 이상한 특수문자 ""가 출력된다. 참고로 ""는 reset all modes(colors and styles)를 위해 사용되는 ANSI escape code이다. (""는 "ESC[0m"으로도 적을 수 있다.) 에러 원인 morgan에서 console에 출력하기 위해 color를 입히는( colorize ) 과정에서 특수문자가 들어가는데, morgan에서 winston으로 만든 logger를 사용할 때 특수문자 ( ANSI colors/styles )가 포함된 string을 그대로 전달하기 때문이다. 콘솔이나 터미널과 다르게 로그 파일에서는 이러한 특수문자가 적용되지 않기에.. 2022. 11. 22.
콜백(callback) 함수를 Promise로 바꾸기 (콜백함수로 await 쓰기) 필요성 가끔, 여러 npm 라이브러리 중에서 async/await 또는 Promise를 지원하지 않고 callback만을 지원하는 경우가 있다. (에러 처리를 아직 callback으로 하는 라이브러리가 종종 있다) 또는, 예전에 작성한 코드를 리펙토링 하는 과정에서 callback을 Promise 등으로 바꾸고자 하는 경우가 있다. 이러한 상황에서 callback 함수를 Promise로 변환하는 과정이 필요하다. 해결방법 간단하다. Promise 생성자를 통해 바꾸어주면 된다. 콜백 함수가 받는 인자들도 모두 온전히 사용할 수 있다. 콜백 함수가 원래 받던 인자들을 그대로 받으면서, Promise를 return 하는 새로운 함수를 만들어 주면 된다. callback 예시 코드 그냥 callback 만 사.. 2021. 7. 20.