Express.js는 MEAN 스택에서 무엇을 합니까?
저는 최근에 앵귤러에 빠졌어요.JS랑 나랑 너무 좋아.다음 프로젝트에서는 MEAN 스택(MongoDB, Express, Angular, Node)을 사용하려고 합니다.저는 Angular에 대해 잘 알고 있으며 스택 내의 MongoDB와 Node의 목적에 대해서는 어느 정도 이해하고 있습니다.하지만 Express.js의 목적이 무엇인지 잘 모르겠습니다.MEAN 스택에 필수적인가요?기존 MySQL, PHP, javascript 앱과 비교하시겠습니까?다른 3개의 컴포넌트가 할 수 없는 것은 무엇입니까?
또한 스택의 4개 부분이 어떻게 연동되는지에 대한 자신의 견해를 제시하고 싶은 사람이 있다면 좋을 것 같습니다.
- MongoDB = 데이터베이스
- Express.js = 백엔드 웹 프레임워크
- 각도 = 프런트 엔드 프레임워크
- 노드 = 백엔드 플랫폼/웹 프레임워크
기본적으로 Express는 vanilla Node보다 요청 엔드포인트 작성, 쿠키 처리 등을 위한 간단한 인터페이스를 제공함으로써 웹 응용 프로그램을 쉽게 만들 수 있도록 합니다.이 문제를 해결할 수는 있지만 웹 어플리케이션을 활성화하려면 더 많은 작업을 수행해야 합니다.노드 자체는 express가 수행하는 모든 작업을 수행할 수 있지만 express는 더 좋은 패키지로 포장합니다.
Express를 당신이 설명한 스택의 PHP 웹 프레임워크와 비교해 보겠습니다.슬림한 것 같은 것.
Express는 Node.js를 사용하여 웹 애플리케이션을 작성하기 위한 유틸리티 벨트로 생각할 수 있습니다.웹 서버를 구축하기 위해 필요한 거의 모든 기능을 제공합니다.vanilla Node.js에서 동일한 기능을 작성하려면 훨씬 더 많은 코드를 작성해야 합니다.다음은 Express의 기능을 보여주는 몇 가지 예입니다.
- REST 루트는 다음과 같은 방법으로 심플하게 할 수 있습니다.
app.get('/user/:id', function(req, res){ /* req.params('id') is avail */ });
- 요청 또는 응답으로 서로 다른 작업을 수행하는 서로 다른 동기 기능을 연결할 수 있는 미들웨어 시스템(인증 또는 속성 추가)
app.use(function(req,res,next){ req.timestamp = new Date(); next(); });
- POST 요청 본문을 해석하는 기능
- 사이트 간 스크립팅 방지 도구
- HTTP " " "
app.get('/', function(req,res){ res.json({object: 'something'}); });
일반적으로 Sinatra와 Ruby는 Express와 Node.js의 관계와 같습니다.PHP의 예는 아니지만 PHP 프레임워크에 대해서는 잘 모릅니다.
Express는 쿠키, 요청 본문 해석, 응답 형성 및 경로 처리 등의 작업을 처리합니다.
또한 수신 요청을 처리하기 위해 소켓을 수신하는 응용 프로그램의 일부이기도 합니다.
express github의 간단한 예
var express = require express' ; var app = express(); app.getflash/ , function ( req , res ){res.send('Hello World'); });app.listen(3000);
익스프레스 서버 작성, 루트 작성 표시app.get('/'...
포트를 열어 착신 http 요구를 리슨합니다.
Express를 사용하면 vanilla js에 비해 http 요청을 쉽게 관리할 수 있습니다.get 요청을 하려면 다음을 수행해야 합니다.
const Http = new XMLHttpRequest();
const url='https://jsonplaceholder.typicode.com/posts';
Http.open("GET", url);
Http.send();
Http.onreadystatechange=(e)=>{
console.log(Http.responseText)
}
express에서는 express를 요구하며 이를 사용하고 http 요청을 합니다.
const express = require("express")
const app =express();
app.get("url",callback function);
Node.js 기반 프레임워크로 표현하여 서버 측 코드 및 로직 작성을 단순화합니다.
많은 유틸리티 기능 추가 및 추가 기능 제공.일반적으로 작업이 쉬워집니다.
Express는 미들웨어 기반: 기본적으로 수신 요청을 미들웨어 체인을 통해 처리합니다.이 체인에 의해 요청에서 데이터를 읽고 조작할 수 있습니다.사용자가 인증되었는지 여부를 체크하거나 기본적으로 응답을 즉시 보낼 수 있습니다.
이 미들웨어 체인은 우리가 매우 구조화된 코드를 쓸 수 있게 해준다.
Express는 Http 모듈 상부에 구축된 nodejs 프레임워크로 루트를 쉽게 처리할 수 있는 등 보다 유용하고 뛰어난 기능을 갖추고 있습니다.
예: HTTP 사용
var http = require('http');
//create a server object:
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'}); // http header
var url = req.url;
if(url ==='/about'){
res.write('<h1>about us page<h1>'); //write a response
res.end(); //end the response
}else if(url ==='/contact'){
res.write('<h1>contact us page<h1>'); //write a response
res.end(); //end the response
}else{
res.write('<h1>Hello World!<h1>'); //write a response
res.end(); //end the response
}
}).listen(3000, function(){
console.log("server start at port 3000"); //the server object listens on port 3000
});
Express 사용:
var express = require('express');
var app = express();
app.get('/about',function(req,res)=>{
res.write('<h1>about us page<h1>'); //write a response
res.end();
})
언급URL : https://stackoverflow.com/questions/19411135/what-does-express-js-do-in-the-mean-stack
'programing' 카테고리의 다른 글
Spring Boot 응용 프로그램에서 커스텀 예외 스택트레이스 로깅 방지 (0) | 2023.03.31 |
---|---|
문자열 리터럴 유형에 대한 TypeScript 배열 (0) | 2023.03.31 |
JSON 응답 요소가 배열인지 확인하는 방법 (0) | 2023.03.31 |
각도 UI 그리드가 그리드의 높이를 동적으로 계산합니다. (0) | 2023.03.31 |
Woocommerce 관리 주문 세부 정보 - 주문 세부 정보 페이지에 사용자 지정 데이터 표시 (0) | 2023.03.31 |