본문 바로가기

Node.js

[Node.js] 기존 프로젝트에 Swagger 연동하기 1. express용 swagger 모듈 설치 > npm i swagger-jsdoc swagger-ui-express --save-dev npm i swagger-jsdoc swagger-ui-express --save-dev 2. app.js 수정(api-docs 대신에 다른 걸 써도 됩니다.) 이러면 세팅 끝. const { swaggerUi, specs } = require('./modules/swagger'); ... app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(specs)); ※ 추가 - swagger.js 설명 definition: { openapi: "오픈 api 버전", // 정보 info: { title: '제목', version: '..
[Node.js] Heroku FreeDyno 계속 켜진 상태로 유지하기 Heroku FreeDyno 서버를 이용해보신 분들은 알겠지만 접속이 없다면 한 5~15분 내로 서버가 sleep 상태로 들어간다. 개인적으로 테스트해본 결과 Dyno 안에서 크론으로 작업을 띄우거나 웹소켓 연결이 되더라도 서버가 sleep 상태로 들어가는 것을 막을 수는 없고 무조건 해당 서버로 웹 연결 요청이 있어야 sleep 상태로 안 들어가게 된다. 만약 인터넷과 연결된 안 쓰는 컴퓨터 혹은 NAS가 있다면 강제로 Heroku FreeDyno가 sleep으로 들어가는 것을 막을 수 있다. 그 소스는 다음과 같다. const cron = require('node-cron'); const request = require('request'); const url = '접속할 서버의 웹페이지 경로'; //..
[Node.js] Cheerio 모듈로 크롤링 시 주의사항 앱의 로컬 데이터를 만들기 위해 크롤링을 하려고 Cheerio를 썼는데 img 태그의 값을 못 추출하는 현상이 발생했다. 이유는 이런 식의 표기법으로 되어있었고 Cheerio는 이와 같이 표준이 아닌 경우 무시를 하도록 되어있기 때문이었다. 그래서 해당 데이터는 직접 bodyString에서 직접 찾아 추출하는 형태로 적용하여 해결했다. 끝.
[Node.js] ES6 문법 실행하기 node.js에서 ES6 문법이 지원된다고 해서 ES6 문법으로 작성을 하고 실행시켜봤는데 에러가 뜨면서 실행되지 않았다. ES6 문법의 소스를 실행시키는 방법은 두 가지가 있다. 1. Babel을 이용해서 CommonJs 문법으로 변환 후 해당 파일을 실행(ES6 문법을 공부하고자 함이었기에 이 방법은 시도하지 않음) 2. node --experimental-modules 해당파일(.mjs) - 실행하고자 하는 js파일의 확장자를 mjs로 변경한 뒤 위의 명령어로 실행하면 node.js에서 실행되는 모습을 확인할 수 있음 참고 : https://nodejs.org/api/esm.html - 끝 -
[Node.js] Gulp 따라해보기 - (1) Gulp는 워크 플로우 자동화 도구인데 예전에 한 번 봤다가 이번에는 제대로 한 번 개념이라도 잡고 가야할 것 같아 튜토리얼을 따라하면서 정리 및 예제에서 동작되지 않는 코드를 빌드할 수 있게끔 수정한 내용을 정리하고자 한다. ※ 참고(튜토리얼) : https://css-tricks.com/gulp-for-beginners/ 1. Gulp 설치(맥 유저만 sudo 씀)$ sudo npm install gulp -g 2. 해당 프로젝트 폴더로 가서 Gulp 모듈 설치$ npm install gulp --save-dev 3. 튜토리얼 쪽 폴더 구조를 만듦(node_modules랑 package.json은 이미 존재하므로 다른 파일과 폴더만 만들면 됨)|- app/ |- css/ |- fonts/ |- ima..