我是Node.js的学习者。
答案 0 :(得分:328)
1)什么是Express.js?
Express.js是一个Node.js框架。它是目前最流行的框架(NPM上最受欢迎的)。
。
它围绕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星级)。
全堆栈:
只是REST API:
Ruby on Rails如:
Sinatra喜欢:
其他:
中间件:
静态站点生成器:
答案 1 :(得分:233)
这过度简化,但Express.js是Node.js Ruby on Rails或Sinatra到Ruby。
Express 3.x是一个轻量级的Web应用程序框架,可帮助您将Web应用程序组织到服务器端的MVC架构中。您可以为模板语言使用各种选项(例如EJS,Jade和Dust.js)。
然后,您可以使用MongoDB和Mongoose等数据库(用于建模)为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)
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应用程序开发。
Express为Connect中间件添加了简单的路由和支持,允许使用许多扩展和有用的功能。
例如,
答案 3 :(得分:9)
我不能比这更简洁。对于您的所有其他需求和信息,Google就是您的朋友。
答案 4 :(得分:3)
ExpressJS是NodeJS之上的 bare-bones Web应用程序框架。
它可以用于快速构建WebApps,RESTFUL API等。
支持Jade,EJS等多个模板引擎。
ExpressJS仅保留极简主义功能作为核心功能,因此默认情况下不支持ORM或DB。但只需一点努力,expressjs应用程序就可以与不同的数据库集成。
有关创建ExpressJS应用程序的入门指南,请查看以下链接:
答案 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 一起使用的最流行的模板语言之一。