📜  HTTP 模块和 Express.js 模块有什么区别?

📅  最后修改于: 2021-09-12 11:20:57             🧑  作者: Mango

NodeJS 中使用 HTTP 和 Express 进行开发。在本文中,我们将分别介绍 HTTP 和 express 模块

HTTP:它是一个内置模块,与 NodeJS 一起预安装。它用于创建服务器和建立连接。使用此连接,只要连接使用超文本传输协议,就可以进行数据发送和接收。

示例:使用 NodeJS 中的 HTTP 模块创建服务器。

index.js
// Importing http module 
var http = require('http');
  
// Create a server object which listens on port 300
http.createServer(function (req, res) {
    // Write a response to the client
    res.write('Hello World!');
  
    // End the response
    res.end();
}).listen(3000);


index.js
// Importing express
const express = require('express');
  
// Creating instance of express
const app = express();
  
// Handling GET / Request
app.get('/', function (req, res) {
    res.send("Hello World!, I am server created by expresss");
})
  
// Listening to server at port 3000
app.listen(3000, function () {
    console.log("server started");
})


使用以下命令运行index.js 文件。

node index.js

输出:

Express:作为一个整体,Express 被称为一个框架,而不仅仅是一个模块。它为您提供 API、子模块、函数、方法和约定,以便快速轻松地将构建现代、功能性 Web 服务器所需的所有组件与所有必要的便利(静态资产托管、模板、处理 CSRF、 CORS、cookie 解析、POST 数据处理以及更多功能。

模块安装:您可以使用以下命令安装 express 模块。

npm i express

示例:使用 NodeJS 中的 express 模块创建服务器。

索引.js

// Importing express
const express = require('express');
  
// Creating instance of express
const app = express();
  
// Handling GET / Request
app.get('/', function (req, res) {
    res.send("Hello World!, I am server created by expresss");
})
  
// Listening to server at port 3000
app.listen(3000, function () {
    console.log("server started");
})

使用以下命令运行index.js 文件。

node index.js

输出:

HTTP 模块和 Express.js 模块的区别:

HTTP

Express

HTTP comes inbuilt along with NodeJS that is, we don’t need to install it explicitly.  Express is installed explicitly using npm command: npm install express 
HTTP is not a framework as a whole, rather it is just a module. Express is a framework as a whole.
HTTP does not provide any support for static asset hosting. Express provide express.static function for static asset hosting. Example: app.use(express.static(‘public’));
HTTP is an independent module. Express is made on top of the HTTP module.
HTTP module provides various tools (functions) to do things for networking like making a server, client, etc. Express along with what HTTP does provide many more functions in order to make development easy.