programing

Express.js란 무엇입니까?

golfzon 2023. 6. 3. 13:11
반응형

Express.js란 무엇입니까?

저는 Node.js의 학습자입니다.

  1. Express.js가 뭐죠?
  2. Node.js를 사용하는 목적은 무엇입니까?
  3. Express.js가 실제로 필요한 이유는 무엇입니까?Node.js와 함께 사용하는 것이 어떻게 유용합니까?
  4. 레디스가 뭐죠?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.jsRuby 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

  1. Express.js란 무엇입니까?

Express.js는 단일 페이지, 다중 페이지 및 하이브리드 웹 애플리케이션을 구축하기 위해 설계된 Node.js 웹 애플리케이션 서버 프레임워크입니다.node.js에 대한 사실상의 표준 서버 프레임워크입니다.

Express를 기반으로 하는 프레임워크입니다.

몇 가지 널리 사용되는 Node.js 프레임워크는 Express를 기반으로 합니다.

루프백:동적 엔드 투 엔드 REST API를 신속하게 생성할 수 있는 확장성이 높은 오픈 소스 Node.js 프레임워크입니다.

Sails: 실용적인 프로덕션 준비 앱을 구축하기 위한 Node.js용 MVC 프레임워크.

Kraken: 구조와 컨벤션을 제공하여 Express를 확장하는 안전하고 확장 가능한 레이어입니다.

평균: 웹 애플리케이션 개발을 단순화하고 가속화하는 의견을 제시하는 전체 스택 JavaScript 프레임워크입니다.

  1. Node.js를 사용하는 목적은 무엇입니까?
  2. Express.js가 실제로 필요한 이유는 무엇입니까?Node.js와 함께 사용하는 것이 어떻게 유용합니까?

Express는 연결 미들웨어에 대한 완전 단순 라우팅 및 지원을 추가하여 많은 확장 및 유용한 기능을 허용합니다.

예를들면,

  • 세션을 원하십니까?거기 있습니다
  • POST 본문/쿼리 문자열 구문 분석을 원하십니까?거기 있습니다
  • 옥, 콧수염, ejs 등을 쉽게 다듬고 싶습니까?거기 있습니다
  • 전체 서버가 중단되지 않는 정상적인 오류 처리를 원하십니까?
  1. Express.js는 Node.js용 모듈식 웹 프레임워크입니다.
  2. 웹 애플리케이션 및 서비스를 보다 쉽게 만들 수 있도록 사용됩니다.
  3. Express.js는 개발을 단순화하고 안전하고 모듈식의 빠른 응용프로그램을 더 쉽게 작성할 수 있도록 지원합니다.이 모든 것을 일반적인 오래된 Node.js에서 수행할 수 있지만 일부 버그는 보안 문제(예: 문자열을 제대로 이스케이프하지 않음)를 포함하여 표면화할 수 있습니다.
  4. Redis는 빠른 성능으로 알려진 인메모리 데이터베이스 시스템입니다.아니요, 하지만 redis 클라이언트를 사용하여 Express.js와 함께 사용할 수 있습니다.

이보다 더 간결하게 말할 수는 없습니다.당신의 다른 모든 필요와 정보를 위해, 구글은 당신의 친구입니다.

ExpressJS는 NodeJS 위에 있는 기본 웹 애플리케이션 프레임워크입니다.

WebApp, RESTFUL API 등을 빠르게 구축할 수 있습니다.

제이드, EJS와 같은 여러 템플릿 엔진을 지원합니다.

ExpressJS는 핵심 기능으로 미니멀리스트 기능만 유지하므로 기본적으로 지원되는 ORM이나 DB는 없습니다.그러나 조금만 노력하면 expressjs 앱을 다른 데이터베이스와 통합할 수 있습니다.

Express 만들기 시작 안내서JS 앱은 다음 링크를 확인하십시오.

ExpressJS 소개 자습서

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

반응형