# Express

express를 자신의 프로젝트 폴더에 설치해서 express framework를 사용할 준비한다.\
(해당 폴더를 npm init으로 초기 설정해준다.)

app.js : express에서 권장하는 메인 어플리케이션(엔트리 어플리케이션)이다. 어떤 어플리케이션을 실행할 때 제일 먼저 실행하는 파일이다. 예를 들어 index.html 같은 것이다.

사용자가 웹서버에 접속할 땐 get방식 또는 post방식으로 접속할 수 있다.\
url을 직접 쳐서 들어오는 경우는 get방식으로 접속하는 것이다.\
get방식으로 접속한 사용자 중 홈페이지로 접속한 사용자를 구분하기 위해 슬래쉬를 사용한다.\
get방식으로 접속하면 두번째 인자인 함수가 실행된다.

* Router로써 get()\
  : 사용자가 어떤 경로로 들어왔는지에 따라 두번째 콜백함수로 다른 동작을 실행할 수 있다. 여기서 .get()을 '라우터'라고 하고, 이것이 하는 일을 '라우팅'이라고 한다.\
  사용자의 요청을 각각에 맞는 controller에 라우팅한다.

```javascript
app.get('/');
app.get('/',function(){});//홈페이지
app.get('/login',function(req,res){
    res.send('Login please');
});//hello라는 페이
```

* Express에서 정적 파일 제공

정적인 파일을 로드할 때.'public'이라는 디렉토리 안에 로드하고자하는 정적인파일이 들어있음.

```javascript
app.use(express.static('public'));
```

글자와 함께 정적파일을 로드할 때 :

```javascript
app.get('/route',(req,res)=>{
    res.send('Hello Router, <img src="lovely_heun.jpg">');
});
```

정적인 코드를 실행할 때는 코드가 바뀌면 요청이 들어올 때마다 노드가 자동으로 로드해주기 때문에 서버를 종료할 필요없이 바로 업데이트된다.\
동적인 코드를 실행할 때는 app.get()이 다시 실행되어야하기 때문에 서버를 종료했다가 다시 열어서 실행해야한다.&#x20;

html 문서를 그대로 쓰지 않고 nodejs를 통해 쓰는 이유\
1\. 동적으로 반복적인 뭔가를 실행할 때.
