什么是Express.js?

时间:2012-09-27 07:24:16

标签: node.js express

我是Node.js的学习者。

  1. 什么是Express.js
  2. Node.js的用途是什么?
  3. 为什么我们真的需要Express.js?我们如何使用Node.js?
  4. 什么是Redis?它是否附带Express.js?

9 个答案:

答案 0 :(得分:328)

  

1)什么是Express.js?

Express.js是一个Node.js框架。它是目前最流行的框架(NPM上最受欢迎的)。

Enter image description here

它围绕Connect中间件的配置和粒度简化而构建。有些人将Express.js与Ruby Sinatra进行比较,将其与笨重且自以为是的Ruby on Rails进行比较。

  

2)Node.js的目的是什么?

您不必一遍又一遍地重复相同的代码。 Node.js是一个低级I/O机制,它有一个HTTP模块。如果您只是使用HTTP模块,很多工作,如解析有效负载,cookie,存储会话(在内存中或在Redis中),根据regular expressions选择正确的路由模式将 重新实施。使用Express.js,它就可供您使用。

  

3)为什么我们真的需要Express.js?我们如何使用Node.js?

第一个答案应该回答你的问题。如果不是,那么尝试在普通的Node.js中编写一个小REST API服务器(即仅使用核心模块),然后在Express.js中编写。后者将减少5-10倍的时间和代码行。

  

什么是Redis?它是否附带Express.js?

Redis是一种快速持久的键值存储。您可以选择使用它来存储Express.js的会话,但您不需要。默认情况下,Express.js具有会话的内存存储空间。 Redis也可用于排队作业,例如电子邮件作业。

查看my tutorial on REST API server with Express.js

  

MVC但不是单独的

Express.js本身就是模型 - 视图 - 控制器框架。您需要将自己的对象关系映射库(例如Mongoose for MongoDB,Sequelize(http://sequelizejs.com)用于SQL数据库,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

UPDATE2:我们在nodeframework.com上添加了一些GitHub统计数据,现在您可以在一个页面上比较30多个框架的社交证明级别(GitHub星级)。

enter image description here

全堆栈:

只是REST API:

Ruby on Rails如:

Sinatra喜欢:

其他:

中间件:

静态站点生成器:

答案 1 :(得分:233)

这过度简化,但Express.jsNode.js Ruby on RailsSinatraRuby

Express 3.x是一个轻量级的Web应用程序框架,可帮助您将Web应用程序组织到服务器端的MVC架构中。您可以为模板语言使用各种选项(例如EJSJadeDust.js)。

然后,您可以使用MongoDBMongoose等数据库(用于建模)为Node.js应用程序提供后端。 Express.js基本上可以帮助您管理从路由到处理请求和视图的所有内容。

Redis是一个键/值存储 - 通常用于Node.js应用程序中的会话和缓存。你可以用它做更多的事情,但这就是我用它的原因。我使用MongoDB来实现更复杂的关系,比如line-item< - >订单< - >用户关系。有一些模块(最值得注意的是connect-redis)可以与Express.js一起使用。您需要在服务器上安装Redis数据库。

以下是Express 3.x指南的链接:https://expressjs.com/en/3x/api.html

答案 2 :(得分:13)

  1. 什么是Express.js?
  2.   

    Express.js是一个Node.js Web应用程序服务器框架,专为   构建单页,多页和混合Web应用程序。它是   node.js的事实上的标准服务器框架。

    基于Express构建的框架。

    几个流行的Node.js框架构建在Express上:

      

    LoopBack:高度可扩展的开源Node.js框架,用于快速   创建动态的端到端REST API。

         

    Sails:MVC框架   Node.js用于构建实用的,可用于生产的应用程序。

         

    Kraken:安全且可扩展的层,通过提供结构和扩展Express   惯例。

         

    MEAN:意见的fullstack JavaScript框架   简化并加速Web应用程序开发。

    1. Node.js的用途是什么?
    2. 为什么我们真的需要Express.js?我们如何使用Node.js?
    3. Express为Connect中间件添加了简单的路由和支持,允许使用许多扩展和有用的功能。

      例如,

      • 想要会话吗?它就在那里
      • 想要POST主体/查询字符串解析吗?它' S 那里
      • 想要通过玉,胡子,ejs等轻松模板化?它' S 那里
      • 想要优雅的错误处理,不会导致整个服务器 崩溃?

答案 3 :(得分:9)

  1. Express.js是Node.js的模块化Web框架
  2. 用于更轻松地创建Web应用程序和服务
  3. Express.js简化了开发过程,使编写安全,模块化和快速的应用程序变得更加容易。你可以在普通的旧Node.js中做所有这些,但是一些错误可以(并且将会)浮出水面,包括安全问题(例如,没有正确地转义字符串)
  4. Redis是一种内存数据库系统,以其快速而闻名 性能。不,但您可以使用redis将它与Express.js一起使用 客户端
  5. 我不能比这更简洁。对于您的所有其他需求和信息,Google就是您的朋友。

答案 4 :(得分:3)

ExpressJS是NodeJS之上的 bare-bones Web应用程序框架。

它可以用于快速构建WebApps,RESTFUL API等。

支持Jade,EJS等多个模板引擎。

ExpressJS仅保留极简主义功能作为核心功能,因此默认情况下不支持ORM或DB。但只需一点努力,expressjs应用程序就可以与不同的数据库集成。

有关创建ExpressJS应用程序的入门指南,请查看以下链接:

ExpressJS Introductory Tutorial

答案 5 :(得分:3)

Express是Node的模块框架,您可以将其用于基于服务器的应用程序,这些应用程序将“监听”来自客户端的任何输入/连接请求。当您在Node中使用它时,它只是说您要求使用Node模块中的内置Express文件。

Express是许多在NodeJS中有后端的Web应用程序的“骨干”。据我所知,它的主要资产是处理2个主机之间“交互”服务的路由系统。它有很多替代品,比如Sails。

答案 6 :(得分:2)

Express.js是一个用于Node的框架,它最常用作节点js的Web应用程序。

以下是有关如何使用快速https://www.youtube.com/watch?v=QEcuSSnqvck快速设置节点应用的视频的链接

答案 7 :(得分:0)

Express.js由TJ Holowaychuk创建,现在由社区管理。它是node.js中最流行的框架之一。 Express还可用于开发各种产品,如Web应用程序或RESTful API。有关更多信息,请访问expressjs.com官方网站。

答案 8 :(得分:0)

ExpressJS 是一个网络应用程序框架,它为您提供一个简单的 API 来构建网站、网络应用程序和后端。使用 ExpressJS,您无需担心底层协议、流程等。 用于 Node.js 的快速、独立、简约的 Web 框架

Pug(以前称为 Jade)是一种用于编写 HTML 模板的简洁语言。它 -

生成 HTML 支持动态代码 支持可重用性 (DRY) 它是与 Express 一起使用的最流行的模板语言之一。