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. |