Express
-
[Express]debug 모듈 + VSCode 디버그 연동하기개발/node.js 2020. 4. 16. 19:36
express 프레임워크 기본 디렉토리 구조를 설치하면 debug모듈을 사용하여 debug모드에서만 로그를 남길 수 있다. console.log()로 남긴 로그들은 서비스를 할 경우 제거를 해줘야하는 번거로움이 있기 때문에 debug시에만 동작하는 로그들이 있으면 개발환경, 서비스환경을 번거로운 절차가 필요없이 간단한 키워드를 추가하고 빼는것으로 설정가능하다. node 인스펙터 node 디버깅 관련 문서를 확인해보면(https://nodejs.org/ko/docs/guides/debugging-getting-started/) node 버전8부터 Inspector API를 이용하여 디버그를 한다고 한다. (현재 로컬에 설치된 node 버전은 12이다.) node를 실행시킬 때 --inspect 옵션을 넣어..
-
[Express]express 프레임워크 구조(1)개발/node.js 2020. 4. 13. 20:30
express 프레임워크 구조에대해 알아보자. 일단 MVC2 모델로 웹서버를 구성하기 위해 Model에 담은 JSON객체를 View에 표현하기위한 View Engine은 ejs(embedded javascript)를 사용하기로 함 자세히 들여다보진 않았지만 사용방법이 JSP 문법과 비슷하다. 설치 express, express-generator 모듈을 전역으로 사전설치 하자 npm install -g express npm install -g express-generator 설치할 폴더에 express 프레임워크 디렉토리 구조 생성 + ejs Engine 설치 express -e Default는 jade 템플릿엔진 이기때문에 -e를 붙여서 ejs 템플릿엔진을 명시해준다. jade는 자체문법을 사용하여 ht..
-
[Express] app.use()에 대해개발/node.js 2020. 3. 28. 18:44
미들웨어 레벨 app.use() 함수에 대해 알아보기 전에 미들웨어 동작 레벨에 대해 알아 보겠다. 1. 애플리케이션 레벨 2. 라우터 레벨 일단은 두가지로 나누어질 수 있다. 물론 단계는 애플리케이션 -> 라우터 단계로 실행순서가 이루어져 있다고 볼 수 있다. 애플리케이션 레벨과 라우터 레벨은 실행단계의 차이지 기능적으론 다른 점이 없다. 애플리케이션 분기 + 라우터 분기 로 더 세세하게 요청 URL을 분리하여 제어가 가능하다는 점이다. 코드로 알아보자. var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); var app = express(); app.use('/', indexRouter); ap..
-
[Express] 프레임워크 미들웨어(Middleware)란?개발/node.js 2020. 3. 24. 22:12
미들웨어란, 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수에 대한 액세스 권한을 갖는 함수입니다. 그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됩니다. 자 뭔소리인고 하니, 1. express 프레임워크 === 웹 프레임워크 이다. 결국 TCP/IP를 기반으로 HTTP 패킷을 생성, 해석을 해주는 프레임워크라는 것이다. HTTP Body부에 존재하는 가장 중요한 멤버들은 request, response 이다. 클라이언트가 보내는 request를 받고 response를 생성해서 보내주는 과정의 중간(Middle)에 개발자가 간섭하여 로직생성, request || response 변경, 흐름제어 등을 한다는 것이다. 공식문서(https://expressjs.com/ko/g..