Express ?
간단한 http 통신 코드입니다.
이부분에서 require? cors? express? 너무 헷갈리시고 모르시는 분들을 위해 이 글을 써봤습니다.
var express = require('express')
const cors = require("cors");
const app = express();
var whiteList = [
"http://localhost:3000"
]
app.use(cors(whiteList));
app.get('/', function(req, res) {
res.send('서버에서 값이 전달되었습니다.');
});
app.listen(5000, ()=> {
console.log(' 서버가 열렸습니다');
})
Express.js :
Node.js에서는 MVC(Model-View-Controller) 패턴의 적용을 쉽게 해주는 여러 3rd-party 모듈들이 존재합니다. 그 중에 가장 인기있는 모듈이 바로 Express.js 입니다.
웹 어플리케이션
Express는 웹 및 모바일 애플리케이션을 위한 일련의 강력한 기능을 제공하는 간결하고 유연한 Node.js 웹 애플리케이션 프레임워크입니다.
API
자유롭게 활용할 수 있는 수많은 HTTP 유틸리티 메소드 및 미들웨어를 통해 쉽고 빠르게 강력한 API를 작성할 수 있습니다.
성능
Express는 기본적인 웹 애플리케이션 기능으로 구성된 얇은 계층을 제공하여, 여러분이 알고 있고 선호하는 Node.js 기능을 모호하게 만들지 않습니다.
Require() :
Node.js에서는 require 메서드를 통해 외부 모듈을 가져올 수 있습니다. Require 메서드는 node 가 local object에 추가한 메서드로서 다음과 같이 파라미터로 추가할 모듈의 파일 경로 값을 받습니다.
CORS :
CORS란 Cross Origin Resource Sharing의 약자로, 현재 도메인과 다른 도메인으로 리소스가 요청될 경우를 말한다. 예를 들어, 도메인 http://A.com 에서 읽어온 HTML페이지에서 다른 도메인 http://B.com/image.jpg를 요청하는 경우를 말한다. 이런 경우에 해당 리소스는 cross-origin HTTP 요청에 의해 요청된다. 보안 상의 이유로, 브라우저는 CORS를 제한하고 있다.
하지만 SPA(Single Page Application)의 경우에는, RESTful API를 기반으로 비동기 네트워크 통신을 하기 때문에 API 서버와 웹 페이지 서버가 다를 수 있다. 이런 경우에 API 서버로 요청을 할 시에 CORS 제한이 걸리게 된다.