Express.js은 (는) 무엇 이죠?


439

Node.js 의 학습자입니다 .

  1. Express.js 은 (는) 무엇 이죠?
  2. Node.js의 목적은 무엇입니까?
  3. 왜 실제로 Express.js가 필요합니까? Node.js와 함께 사용하는 것이 어떻게 유용합니까?
  4. Redis 란 무엇입니까 ? Express.js와 함께 제공됩니까?

28
커뮤니티 위키 답변 (+50 현상금이 있음)으로 스크롤하십시오. 표시된 답변보다 도움이되는 것으로 나타났습니다.
— Shishir Gupta

답변:


266

이것은 간단 이상이지만, Express.js는 이다 Node.js를 어떻게 루비 온 레일즈 나 시나은 이다 루비 .

Express 3.x는 웹 응용 프로그램을 서버 쪽의 MVC 아키텍처로 구성하는 데 도움이되는 간단한 웹 응용 프로그램 프레임 워크입니다. 템플릿 언어 ( EJS , Jade 및 Dust.js 등 )에 대해 다양한 선택 사항을 사용할 수 있습니다 .

그런 다음 Mongoose 와 함께 MongoDB 와 같은 데이터베이스 (모델링 용)를 사용하여 Node.js 애플리케이션에 대한 백엔드를 제공 할 수 있습니다. Express.js는 기본적으로 경로에서 요청 및 뷰 처리에 이르기까지 모든 것을 관리하는 데 도움이됩니다.

Redis는 키 / 값 저장소로, Node.js 애플리케이션에서 세션 및 캐싱에 일반적으로 사용됩니다. 당신은 그것으로 더 많은 것을 할 수 있지만 그것이 내가 사용하는 것입니다. line-item <-> order <-> 사용자 관계와 같은보다 복잡한 관계에 MongoDB를 사용합니다. Express.js와 함께 작동하는 모듈 (대부분 connect-redis)이 있습니다. 서버에 Redis 데이터베이스 를 설치 해야합니다.

다음은 Express 3.x 안내서에 대한 링크입니다. https://expressjs.com/en/3x/api.html


20
Express는 철도보다는 시나트라와 더 비슷합니다.
— halfelf

11
Express는 특히 Sinatra에서 영감을 받았습니다. 아마도 가장 중요한 기능은 라우팅입니다. 또한 connect에서 제공하는 모든 미들웨어를 사용할 수있게합니다 (connect의 미들웨어가 필요한 가장 특수화 된 응용 프로그램을 제외한 모든 응용 프로그램이 Express를 사용할 수있는 지점까지).
— ebohlman

나는 redis가 실제로 복잡한 관계에 이상적이라고 말하고 싶습니다.
— plus-

EJS 링크가 현재 종료되었습니다.
— David Spector

MVC가 Express와 어떻게 관련되는지 이해하지 못합니다. 올바르게 기억하면 Express에는 모델과 뷰가 없습니다. MVC 프레임 워크가 아닌 미들웨어 기반 프레임 워크입니다. 이것을 설명하십시오.
— Gherman

382

1) Express.js는 무엇입니까?

Express.js 는 Node.js 프레임 워크입니다. 현재 가장 인기있는 프레임 워크입니다 (NPM에서 가장 많이 표시됨).

여기에 이미지 설명을 입력하십시오.

Connect 미들웨어의 구성 및 세분화 된 단순성을 중심으로 구축되었습니다. 어떤 사람들은 Express.js를 Ruby Sinatra 와 비교하고 부피가 크고 의견이 많은 Ruby on Rails 와 비교합니다 .

2) Node.js의 목적은 무엇입니까?

동일한 코드를 반복해서 반복 할 필요가 없습니다. Node.js는 HTTP 모듈이있는 저수준 I / O 메커니즘입니다. 당신은 단지 HTTP 모듈, 페이로드, 쿠키를 구문 분석과 같은 많은 작업 (메모리 또는 세션 저장 사용하는 경우 레디 스를 기반으로 올바른 경로 패턴 선택) 정규 표현식을 것 이 다시 구현 될 수 있습니다. Express.js를 사용하면 바로 사용할 수 있습니다.

3) 왜 실제로 Express.js가 필요합니까? Node.js와 함께 사용하는 것이 어떻게 유용합니까?

첫 번째 답변은 귀하의 질문에 답변해야합니다. 그렇지 않은 경우 일반 Node.js (즉, 핵심 모듈 만 사용)와 Express.js에 작은 REST API 서버 를 작성하십시오 . 후자는 시간과 코드 줄을 5-10 배 줄입니다.

레디 스란? Express.js와 함께 제공됩니까?

Redis는 빠른 영구 키-값 스토리지입니다. Express.js로 세션을 저장하기 위해 선택적으로 사용할 수 있지만 반드시 그럴 필요는 없습니다. 기본적으로 Express.js에는 세션을위한 메모리 스토리지가 있습니다. Redis는 이메일 작업과 같은 대기열 작업에 사용할 수도 있습니다.

Express.js를 사용하여 REST API 서버에 대한 튜토리얼을 확인하십시오 .

MVC 자체는 아니지만

Express.js는 자체적으로 모델 뷰 컨트롤러 프레임 워크 가 아닙니다 . MongoDB 용 Mongoose, SQL 데이터베이스 용 Sequelize ( 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 : GitHub 통계를 nodeframework.com에 추가하여 한 페이지에서 30 개 이상의 프레임 워크에 대한 사회적 증거 (GitHub 별) 수준을 비교할 수 있습니다.

여기에 이미지 설명을 입력하십시오

풀 스택 :

REST API 만 :

루비 온 레일즈 (Ruby on Rails)

시나트라 (Sinatra)

다른:

미들웨어 :

정적 사이트 생성기 :


Express.js는 Node.js 모듈입니다 (첫 번째 줄에서 프레임 워크로 해결되었습니다). nodeJs라는 용어를 module자주 들었습니다 . 프레임 워크 내부의 프레임 워크는 나에게 약간의 뉴스입니다.
— RBT

예, 실제로는 Express가 npm의 다른 모듈과 같이 응용 프로그램에 추가되는만큼 npm (노드 패키지 관리자) 모듈 (일명 패키지)입니다. Node Express 응용 프로그램의 소스 폴더를 보면 node_modules라는 폴더가 표시됩니다. 여기에는 express라는 하위 폴더가 포함됩니다. 그러나 npm 외부에있는 대부분의 다른 모듈보다 훨씬 유용합니다. 일반적인 작업에 대한 API를 앱 코더에 효과적으로 제공하는 종속 모듈로드 프레임 워크 내부의 프레임 워크? 서버 생성 프레임 워크에 연결 가능한 구현 프레임 워크와 비슷합니다.
— 트렁크

15
  1. Express.js은 (는) 무엇 이죠?

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

Express에 구축 된 프레임 워크.

몇 가지 인기있는 Node.js 프레임 워크가 Express에 구축되었습니다.

LoopBack : 동적 엔드 투 엔드 REST API를 빠르게 생성 할 수있는 확장 성이 뛰어난 오픈 소스 Node.js 프레임 워크.

Sails : 실용적이고 생산 가능한 앱을 구축하기위한 Node.js 용 MVC 프레임 워크.

크라켄 : 구조와 컨벤션을 제공하여 Express를 확장하는 안전하고 확장 가능한 계층입니다.

의미 : 웹 응용 프로그램 개발을 단순화하고 가속화하는 의견을받은 풀 스택 JavaScript 프레임 워크입니다.

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

Express는 죽은 간단한 라우팅과 Connect 미들웨어 지원을 추가하여 많은 확장 기능과 유용한 기능을 허용합니다.

예를 들어

  • 세션을 원하십니까? 저기에있어
  • POST 본문 / 쿼리 문자열 구문 분석을 원하십니까? 저기에있어
  • 옥, 콧수염, ejs 등을 통해 쉽게 템플릿을 만들고 싶습니까? 저기에있어
  • 서버 전체가 충돌하지 않는 우아한 오류 처리를 원하십니까?

10
  1. Express.js는 Node.js를위한 모듈 식 웹 프레임 워크입니다
  2. 웹 응용 프로그램 및 서비스를보다 쉽게 ​​생성하는 데 사용됩니다
  3. Express.js는 개발을 단순화하고 안전하고 모듈 식이며 빠른 응용 프로그램을보다 쉽게 ​​작성할 수 있도록합니다. 평범한 오래된 Node.js에서 모든 것을 할 수 있지만 보안 문제 (예 : 문자열을 올바르게 이스케이프하지 않음)를 포함하여 일부 버그가 발생할 수 있습니다.
  4. Redis는 빠른 성능으로 유명한 인 메모리 데이터베이스 시스템입니다. 아니요, 그러나 redis 클라이언트를 사용하여 Express.js와 함께 사용할 수 있습니다

나는 이것보다 더 간결 할 수 없었다. 다른 모든 요구와 정보에 대해 Google은 친구입니다.


3

ExpressJS는 베어 본 NodeJS의 상단에 웹 응용 프로그램 프레임 워크.

WebApp, RESTFUL API 등을 빠르게 빌드하는 데 사용할 수 있습니다.

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

ExpressJS는 최소한의 기능 만 핵심 기능으로 유지하므로 기본적으로 지원되는 ORM 또는 DB가 없습니다. 그러나 약간의 노력으로 expressjs 앱을 다른 데이터베이스와 통합 할 수 있습니다.

ExpressJS 앱 작성에 대한 시작 안내서는 다음 링크를 참조하십시오.

ExpressJS 입문 자습서


3

Express는 클라이언트의 모든 입력 / 연결 요청을 "수신"할 서버를 기반으로하는 응용 프로그램에 사용할 수있는 노드 용 모듈 프레임 워크입니다. Node에서 사용하면 노드 모듈에서 내장 Express 파일의 사용을 요청한다는 의미입니다.

Express는 NodeJS에 백엔드가있는 많은 웹 애플리케이션의 "백본"입니다. 내가 아는 바로는, 주요 자산은 두 호스트 간의 "상호 작용"서비스를 처리하는 라우팅 시스템의 섭리입니다. Sails와 같은 많은 대안이 있습니다.



0

Express.js는 TJ Holowaychuk에 의해 만들어졌으며 이제는 커뮤니티에서 관리합니다. node.js에서 가장 널리 사용되는 프레임 워크 중 하나입니다. Express는 또한 웹 애플리케이션 또는 RESTful API와 같은 다양한 제품을 개발하는 데 사용될 수 있습니다. 자세한 내용은 expressjs.com 공식 사이트를 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.