在'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请求。

请参阅https://expressjs.com/en/resources/middleware.html和http://expressjs.com/en/resources/middleware/body-parser.html

Express只是一个用于node js的库。它使用节点的http模块来创建服务器。您调用app.use,但是这个函数做了很多事情,包括http.createServer。除了服务器,express还使用中间件,扩展了另一个名为connect的库。如果明示文档中没有解释express的任何方法,请阅读connect的文档。

如果你正在学习节点,现在使用http,因为express提供了太多的功能,代替你做了很多工作,不允许完全理解正在发生的事情

app.listen在express上创建服务器。在快递中,我们不必使用app.createServer((。我们可以直接使用app.listent(3000(.Express让我们的生活更轻松。

ExpressJs构建在NodeJs之上,它被称为一个框架。没有人真正在裸节点上构建服务器,就像没有人用裸HTML、CSS和javascript构建网站一样。

ExpressJs不是唯一的后端框架,但它是拥有最强社区的框架。这意味着就node-js而言,它拥有最多的用户、支持和包。有一些替代品,如Nest Js、Koa Js和Hapi Js。我建议你至少考虑一种替代方案,因为它会让你更好地了解服务器。

最新更新