Express.js란 무엇입니까?
저는 Node.js의 학습자입니다.
- Express.js가 뭐죠?
- Node.js를 사용하는 목적은 무엇입니까?
- Express.js가 실제로 필요한 이유는 무엇입니까?Node.js와 함께 사용하는 것이 어떻게 유용합니까?
- 레디스가 뭐죠?Express.js와 함께 제공됩니까?
Express.js란 무엇입니까?
Express.js는 Node.js 프레임워크입니다.현재 가장 인기 있는 프레임워크(NPM에서 가장 많이 출연)입니다.
.
Connect 미들웨어의 구성 및 세부적인 단순성을 기반으로 구축되었습니다.어떤 사람들은 Express.js를 Ruby Sinatra와 부피가 크고 고집 센 Ruby on Rails를 비교합니다.
Node.js를 사용하는 목적은 무엇입니까?
같은 코드를 반복해서 사용할 필요가 없습니다.Node.js는 HTTP 모듈이 있는 낮은 수준의 I/O 메커니즘입니다.HTTP 모듈만 사용하면 페이로드 구문 분석, 쿠키, 세션 저장(메모리 또는 Redis)과 같은 많은 작업을 다시 구현해야 합니다.Express.js를 사용하면 바로 사용할 수 있습니다.
Express.js가 실제로 필요한 이유는 무엇입니까?Node.js와 함께 사용하는 것이 어떻게 유용합니까?
첫 번째 대답은 당신의 질문에 대답해야 합니다.그렇지 않은 경우, 작은 REST API 서버를 plain Node.js(즉, 코어 모듈만 사용)로 작성한 다음 Express.js로 작성해 보십시오.후자는 코드 시간과 줄 수 있는 시간을 5-10배 줄일 수 있습니다.
레디스가 뭐죠?Express.js와 함께 제공됩니까?
Redis는 빠른 영구 키 값 스토리지입니다.선택적으로 Express.js와의 세션을 저장하는 데 사용할 수 있지만 그럴 필요는 없습니다.기본적으로 Express.js에는 세션에 대한 메모리 저장소가 있습니다.Redis는 대기열 작업(예: 이메일 작업)에도 사용할 수 있습니다.
Express.js를 사용하여 REST API 서버에 대한 내 튜토리얼을 확인하십시오.
MVC는 있지만 그 자체는 아닙니다.
Express.js는 모델-뷰-컨트롤러 프레임워크 자체가 아닙니다.MongoDB용 Mongoose, SQL 데이터베이스용 Sequitize(http://sequelizejs.com ), 많은 데이터베이스용 Waterline(https://github.com/balderdashy/waterline) )과 같은 자체 객체 관계 매핑 라이브러리를 스택에 가져와야 합니다.
대안
고려해야 할 기타 Node.js 프레임워크(https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API) :
업데이트: 사람들이 Node.js 프레임워크를 선택하는 데 도움이 되는 자료를 모았습니다. http://nodeframework.com
업데이트 2:nodeframework.com 에 일부 GitHub 통계를 추가하여 30개 이상의 프레임워크에 대한 사회적 입증 수준(GitHub 별)을 한 페이지에서 비교할 수 있습니다.

전체 스택:
Just REST API:
Ruby on Rails는 다음과 같습니다.
시나트라는 다음과:
기타:
미들웨어:
정적 사이트 생성기:
이것은 그것을 단순화하는 것 이상이지만 Express.js는 Node.js에 Ruby on Rails 또는 Sinatra와 Ruby에 대한 것입니다.
Express 3.x는 웹 응용 프로그램을 서버 측의 MVC 아키텍처로 구성하는 데 도움이 되는 경량 웹 응용 프로그램 프레임워크입니다.템플릿 언어(예: EJS, Jade 및 Dust.js)에 대해 다양한 선택사항을 사용할 수 있습니다.
그런 다음 MongoDB와 같은 데이터베이스를 Mongoose(모델링용)와 함께 사용하여 Node.js 응용 프로그램에 백엔드를 제공할 수 있습니다.Express.js는 기본적으로 경로에서 요청 및 보기 처리에 이르기까지 모든 것을 관리하는 데 도움이 됩니다.
Redis는 Node.js 응용 프로그램의 세션 및 캐싱에 일반적으로 사용되는 키/값 저장소입니다.당신은 그것으로 더 많은 것을 할 수 있지만, 그것이 제가 사용하는 것입니다.저는 라인 항목 <-> 순서 <-> 사용자 관계와 같이 좀 더 복잡한 관계를 위해 MongoDB를 사용합니다.Express.js와 함께 작동하는 모듈(특히 connect-redis)이 있습니다.서버에 Redis 데이터베이스를 설치해야 합니다.
다음은 Express 3.x 가이드 링크입니다. https://expressjs.com/en/3x/api.html
- Express.js란 무엇입니까?
Express.js는 단일 페이지, 다중 페이지 및 하이브리드 웹 애플리케이션을 구축하기 위해 설계된 Node.js 웹 애플리케이션 서버 프레임워크입니다.node.js에 대한 사실상의 표준 서버 프레임워크입니다.
Express를 기반으로 하는 프레임워크입니다.
몇 가지 널리 사용되는 Node.js 프레임워크는 Express를 기반으로 합니다.
루프백:동적 엔드 투 엔드 REST API를 신속하게 생성할 수 있는 확장성이 높은 오픈 소스 Node.js 프레임워크입니다.
Sails: 실용적인 프로덕션 준비 앱을 구축하기 위한 Node.js용 MVC 프레임워크.
Kraken: 구조와 컨벤션을 제공하여 Express를 확장하는 안전하고 확장 가능한 레이어입니다.
평균: 웹 애플리케이션 개발을 단순화하고 가속화하는 의견을 제시하는 전체 스택 JavaScript 프레임워크입니다.
- Node.js를 사용하는 목적은 무엇입니까?
- Express.js가 실제로 필요한 이유는 무엇입니까?Node.js와 함께 사용하는 것이 어떻게 유용합니까?
Express는 연결 미들웨어에 대한 완전 단순 라우팅 및 지원을 추가하여 많은 확장 및 유용한 기능을 허용합니다.
예를들면,
- 세션을 원하십니까?거기 있습니다
- POST 본문/쿼리 문자열 구문 분석을 원하십니까?거기 있습니다
- 옥, 콧수염, ejs 등을 쉽게 다듬고 싶습니까?거기 있습니다
- 전체 서버가 중단되지 않는 정상적인 오류 처리를 원하십니까?
- Express.js는 Node.js용 모듈식 웹 프레임워크입니다.
- 웹 애플리케이션 및 서비스를 보다 쉽게 만들 수 있도록 사용됩니다.
- Express.js는 개발을 단순화하고 안전하고 모듈식의 빠른 응용프로그램을 더 쉽게 작성할 수 있도록 지원합니다.이 모든 것을 일반적인 오래된 Node.js에서 수행할 수 있지만 일부 버그는 보안 문제(예: 문자열을 제대로 이스케이프하지 않음)를 포함하여 표면화할 수 있습니다.
- Redis는 빠른 성능으로 알려진 인메모리 데이터베이스 시스템입니다.아니요, 하지만 redis 클라이언트를 사용하여 Express.js와 함께 사용할 수 있습니다.
이보다 더 간결하게 말할 수는 없습니다.당신의 다른 모든 필요와 정보를 위해, 구글은 당신의 친구입니다.
ExpressJS는 NodeJS 위에 있는 기본 웹 애플리케이션 프레임워크입니다.
WebApp, RESTFUL API 등을 빠르게 구축할 수 있습니다.
제이드, EJS와 같은 여러 템플릿 엔진을 지원합니다.
ExpressJS는 핵심 기능으로 미니멀리스트 기능만 유지하므로 기본적으로 지원되는 ORM이나 DB는 없습니다.그러나 조금만 노력하면 expressjs 앱을 다른 데이터베이스와 통합할 수 있습니다.
Express 만들기 시작 안내서JS 앱은 다음 링크를 확인하십시오.
Express는 클라이언트의 입력/연결 요청을 "수신"하는 서버 기반 응용프로그램에 사용할 수 있는 Node용 모듈 프레임워크입니다.노드에서 사용할 때 노드 모듈에서 기본 제공 Express 파일의 사용을 요청하는 것입니다.
Express는 NodeJS에 백엔드를 둔 많은 웹 애플리케이션의 "백본"입니다.제가 알기로는, 그것의 주요 자산은 두 호스트 간의 "상호 작용" 서비스를 처리하는 라우팅 시스템의 제공입니다.Sails와 같은 많은 대안들이 있습니다.
Express.js는 노드에 사용되는 프레임워크이며 노드 js의 웹 응용 프로그램으로 가장 일반적으로 사용됩니다.
다음은 express https://www.youtube.com/watch?v=QEcuSSnqvck 으로 노드 앱을 빠르게 설정하는 방법에 대한 비디오 링크입니다.
TJ 홀로웨이척이 만들고 현재 커뮤니티에서 관리하는 Express.js.이것은 node.js에서 가장 인기 있는 프레임워크 중 하나입니다.Express는 웹 애플리케이션이나 RESTful API 등 다양한 제품 개발에도 사용할 수 있습니다.자세한 내용은 expressjs.com 공식 사이트를 참조하십시오.
ExpressJS는 웹 사이트, 웹 앱 및 백엔드를 구축하기 위한 간단한 API를 제공하는 웹 애플리케이션 프레임워크입니다.익스프레스 포함JS, 당신은 낮은 수준의 프로토콜, 프로세스 등에 대해 걱정할 필요가 없습니다.Node.js를 위한 빠르고 의견이 없는 최소주의 웹 프레임워크
Pug(이전의 제이드)는 HTML 템플릿을 작성하기 위한 테르스어입니다.그것은 -
생성 HTML 동적 코드 지원 재사용 가능성(DRY) Express에서 사용되는 가장 일반적인 템플릿 언어 중 하나입니다.
그 힘의 완벽한 예
router.route('/recordScore').post(async(req, res) => {
let gold_nation = req.body.gold && req.body.gold.nationality;
let silver_nation = req.body.silver && req.body.silver.nationality;
let bronze_nation = req.body.bronze && req.body.bronze.nationality;
let competition_id = req.body.competition_id;
console.log(gold_nation)
console.log(silver_nation)
req.body.gold && await country.updateOne({"flag" : gold_nation}, { $inc: { gold: 1 } });
req.body.silver && await country.updateOne({"flag" : silver_nation}, { $inc: { silver: 1 } });
req.body.bronze && await country.updateOne({"flag" : bronze_nation}, { $inc: { bronze: 1 } });
console.log(competition_id)
//await competition.updateOne({"_id" : competition_id}, {$set: {recorded : true}});
//!! Uncomment this and change model/competition.ts set recorer to recorded
// this is commented out so you can test adding medals for every case and not creating competitions every time
res.status(200).json("Success");
});
async record(){
let index = this.competitions.findIndex(e => e._id == this.selectedCompetition);
let goldIndex = this.competitors.findIndex(e => e._id == this.goldWinner);
let silverIndex = this.competitors.findIndex(e => e._id == this.silverWinner);
let bronzeIndex = this.competitors.findIndex(e => e._id == this.bronzeWinner);
console.log(this.competitors[goldIndex]);
console.log(this.competitors[1-goldIndex]);
this.sportService.recordCompetition(this.competitors[goldIndex],
this.competitors[1-goldIndex],
null,
this.competitions[index]).subscribe((m:string) => this.reset(m))
}
reset(message: string){
this.statusMessage = message;
if(message == "Success"){
this.competitions = this.competitions.filter( (c) => c._id != this.selectedCompetition);
this.goldWinner = '';
this.silverWinner = '';
this.bronzeWinner = '';
}
setTimeout(()=>{
this.statusMessage = '';
}, 3000);
}
router.route('/registerCompetitor').post(async(req, res) => {
//! PROVJERI DA LI JE FORMIRANJE TAKMICENJA ZAVRSENO
let competitors = req.body.map( c => ({
name: c.name,
gender: c.gender,
nationality: c.nationality,
sport: c.sport,
disciplines: c.disciplines
}));
console.log(competitors)
await country.updateOne({"flag" : competitors[0].nationality}, { $inc: { numberOfCompetitors: competitors.length } });
await competitor.collection
.insertMany(competitors)
.then( u => {
res.status(200).json("Ok")
})
.catch(err =>{ res.status(400).json("notOk");
});
});
언급URL : https://stackoverflow.com/questions/12616153/what-is-express-js
'programing' 카테고리의 다른 글
| Xcode 6 스토리보드 사이즈가 잘못되었습니까? (0) | 2023.06.03 |
|---|---|
| 파일 대화상자를 열고 WPF 컨트롤 및 C#을 사용하여 파일을 선택합니다. (0) | 2023.06.03 |
| Objective-C / Cocoa Touch에서의 HTML 문자 디코딩 (0) | 2023.06.03 |
| SQL Server 테이블 간에 행을 복사하는 방법 (0) | 2023.06.03 |
| HTTP를 통해 이진 파일을 다운로드하려면 어떻게 해야 합니까? (0) | 2023.06.03 |