[英]create server in 'node.js' VS 'express.js'
大家好,我是 node.js 和 express.js 的新手
我在 node.js 和 express.js 上创建服务器时有点困惑。
在 Node.js 中,我们使用http 模块来创建服务器。
在 express 中,我们不使用任何 http 模块,但我们仍然能够创建服务器。 这里的服务器是如何创建的? app.get() 是在创建它吗?
我试图用谷歌搜索差异但无法得到正确的解释,请有人在这里帮助我或分享文档链接,以便我更好地理解它。
// creating server using Node.js
var http = require('http');
var fs = require('fs');
var htmlData;
fs.readFile('index.html',(err, data)=>{
if(err) throw err;
htmlData = data;
});
http.createServer(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(htmlData); //read the file & write the data content
res.end();
}).listen(8000,()=>{console.log("PORT is 8000")});
// creating server using Express.js
const express = require('express');
const fs =require('fs');
const app = express();
let htmlData;
fs.readFile('index.html','utf-8',(err,data)=>{
htmlData = data;
})
app.get('/',(req,resp)=>{
resp.writeHead(200,{'content-type':'text/html'}).write(htmlData).end();
}).listen(8000);
express.js 建立在 Node.js 之上,并在后台使用 Node 的网络和 web 框架。
express.js 的结构是使用“中间件”,这些“中间件”是功能模块(基本上是功能),可以处理一些输入并更改状态/添加功能。
例如,有专门用于处理 Node.js 收到的 http 请求的中间件,然后再将它们传递给您的应用程序。
See https://expressjs.com/en/resources/middleware.html and http://expressjs.com/en/resources/middleware/body-parser.html
Express 只是 node js 的一个库。 它使用节点的http模块来创建服务器。 你调用app.use
,但是这个 function 做了很多事情,包括http.createServer
。 除了服务器,express 还使用中间件,扩展了另一个名为connect
的库。 如果 express 文档中没有解释express
的任何方法,请阅读connect
文档。
如果您现在正在学习节点,请使用http
,因为 express 提供了太多功能并且代替您做了很多工作,无法完全理解正在发生的事情
app.listen 在 express 上创建服务器。 在 express 中,我们不必使用 app.createServer()。 我们可以直接使用 app.listen(3000)。 Express 让我们的生活更轻松。
Express Js 建立在 Node Js 之上,它被称为框架。 没有人真正在裸节点上构建服务器,就像没有人用裸节点构建网站一样,没有人使用裸节点 HTML、CSS 和 javascript。
Express Js 不是唯一的后端框架,但它是社区最强大的框架。 这意味着就 node js 而言,它拥有最多的用户、支持和包。 有一些替代品,例如 Nest Js、Koa js 和 Hapi Js。 我建议您至少查看一种替代方法,因为它可以让您更好地了解服务器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.