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 , JadeDust.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.jsNode.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.