const express = require('express');
const app = express();

1. app.set('key', 'value')

set의 파라미터는 Key-Value로 이루어져있다.

set은 settings라는 json에 필드를 추가시킨다.

Express객체의 인스턴스인 app을 출력해보았고 settings라는 필드가 존재한다.

 

이 settings에 약속된 Key와 Value를 넣어 어플리케이션의 설정을 추가한다.

"약속된 Key값"이라는 것은 아무 Key-Value쌍을 넣었을 때는 작동을 하지 않는 다는 것이다.

예를 들어서 아래 코드를 보면

app.set('view engine', 'ejs');

어플리케이션이 구동될 때,

'view engine' Key-Value가 정의되어 있으면 그 값을 view 엔진으로 정의해라. (코드가 실행되기 전에는 view engine이 없었음)

 이렇게 사전 약속이 되어있는 것이다.

app.set('view engine', 'ejs')가 실행된 후에 'view engine' 필드가 생성되었다.

 

https://expressjs.com/ko/api.html#app.set

위 주소에 app.set( )에 대한 설명이 나와있고 settings에 들어갈 수 있는 사전 약속인 property들이 표로 정리되어 있다.

 

참고로, disable(), enable()등과 같은 메소드들도 settings를 변경하는 메소드 중의 하나이다.

 

2. app.get('key')

단순히 settings에 정의되어 있는 필드의 값을 가져오는 역할을 한다.

app.set('key', 'value')의 반대 역할

 

app.get('path', callback) : 화면을 출력하기 위해 사용되는 HTTP메소드를 가리키는 이 app.get는 오버로딩된 전혀 다른 메소드 이다.

 

 

3. app.use('path', callback) or app.use(callback)

 

HTTP메소드 이름을 따서 만든

app.get

app.post

app.put

app.delete

모두 미들웨어라고 말할 수 있다.

그러나 이것들은 특정 HTTP메소드 요청에서만 동작하는 미들웨어이다.

그러나 app.use('path', callback)은 path에서의 모든 HTTP메소드 요청에 대해서 동작한다.

그리고 우선 순위 면에서 get, post, put, delete 보다 먼저 동작한다. => 그런것 같지만 확실하지는 않다. 이렇게 이해해도 무관

 

app.use('/public', express.static(__dirname + '/public'));

*이와 같이 static파일에 접근하는 URL요청 같은 것에 사용된다.

 

app.use(callback)은 주소가 정의되지 않았음으로 모든 URI요청에 대해서 동작하는 미들웨어를 정의한다.

 

 

 

 

 

https://expressjs.com/ko/api.html#app.METHOD

 

Express 4.x - API 참조

Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex

expressjs.com

https://baked-corn.tistory.com/48

 

[Node.js] Middleware

Express의 정의는 다음과 같습니다. Express is a routing and middleware web framework that has minimal functionality of its own: An Express application is essentially a series of middleware function c..

baked-corn.tistory.com