express和node的关系是不是跟js和JQ一样?

express和node的关系是不是跟js和JQ一样?

阅读 10.1k
6 个回答

JS是语言,可以运行在浏览器端也可以运行在服务器端

jQuery是JS在浏览器环境下的封装库,把DOM操作,ajax等封装成了兼容性好,方便使用的方法

node是JS的一个非浏览器运行平台,里面提供API进行web服务器开发,就像是Java中的servlet

express是node中进行web服务器开发的框架,封装了node关于web的一些API,有点像Java中各种MVC框架对servlet的封装

两者有相同之处,express和jQuery都是对自己平台(node,DOM API)进行了封装
两者有不同之处,功能范畴完全不一样。express开发服务器,jquery做浏览器端操作

这样类别一下吧。
JS是语言,Node是运行时(平台),Express是运行在Node平台上的Web框架(使用JavaScript语言)。
C#是语言,.Net是运行时(平台),Asp.Net MVC是运行在.Net平台上的Web框架(使用C#语言)。

JS的jQuery之间,仅仅是一个语言和一个Lib之间的关系。

这里需要注意一点,NodeJS并不是一门语言。

可以这样理解,express在nodejs的基础上又做了一些封装,能更方面地提供某些服务。但是express的主要功能局限在构造服务器、处理请求上,所以相对于JQ而言,功能单一许多。

这个关系可复杂了

js = javascript = ecmascript,是一种语言
node = Node.js 是基于 Chrome 的 V8 引擎实现的一个 js 解释器
jq = jQuery 是使用 js 实现的一套库,主要用于 Web 页面(部分功能也可用于 Node),主要用于 Web 前端(浏览器端)开发
express 是基于 js 和 node 框架实现的一套 Web 框架,用于 Web 后端(服务器端)开发。

express是node的一个框架,如果你了解php就会很明白

node是运行环境 不是语言, v8和SpiderMonkey都是对语言的实现,就是通常说的js engine

语言是一种规则约定 javascript(es4,es5,es6,es7...)
运行环境是针对约定的具体实现 还会分场景,比如浏览器端,服务器端

  • server v8(nodejs/fibjs) --express/koa

  • client SpiderMonkey(ff)/v8(chrome) --jquery/angular

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏