簡體   English   中英

express和http之間的技術差異是什么,連接就是這個問題

[英]what's the technical difference between express and http, and connect for that matter

var express = require("express")
  , app = express()
  , http = require("http").createServer(app)

我經常看到這些依賴於它們。 從我的理解,http主機前端html? 和express保存服務器端的nodejs邏輯? 和connect是express的基礎層,所以也是服務器端模塊?

如果不是這樣的話,人們就不會這樣做

express().listen(8080)

代替

require("http").createServer(express()).listen(8080)

Expresshttp之上的另一層。 它負責Web應用程序所需的基本重復任務。 connect是一個中間件,它也負責Web應用程序所需的基本重復任務。

使用任何框架背后的整個想法是保持干燥 ,不要重復自己。 每個Web應用程序都非常需要解析請求主體解析cookie等任務。 Express 默認提供它們。

在Express 4.x中,大部分已經被重構為幾個粒度模塊,如body-parsermorgan等。可以直接使用它們而不使用express。 有關完整的模塊集,請參閱Express - GitHub

Expresshttp之上的另一層,意味着Express內部使用http 換句話說,它是http的包裝器。 如果你看一下Express的源代碼,你會發現它在內部使用http 請參閱https://github.com/strongloop/express/blob/master/lib/application.js#L540-543上突出顯示的聲明

讓我們舉一個例子來理解http模塊和express模塊之間的區別。

例如, http模塊是一輛汽車,即一輛普通的商用汽車。

另一方面,考慮express為超級跑車。

請參閱, http模塊提供各種工具(功能)來做網絡的事情,如制作servercilent等。

express是建立在http模塊頂部的地方,有一些更實用,更好的功能,比如簡單的方法來處理routes ,簡單的方法來制作firmware, servers, client等。

就像普通汽車和超級汽車(可能是豪華車)之間的區別一樣。它們都是一天結束時的汽車,但功能更多的是豪華車,易於使用,就像在express.js

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM