我最近开始使用Node JS和Express进行服务器端开发,但我对它是如何工作的感到困惑。据我了解,网络服务存储网站并在浏览器请求时返回页面。Apache是一个Web服务器,你可以将其用于像XAMPP这样的堆栈。ASP.NET 是一个使用 IIS Web 服务器并与之通信的框架。
但是有了Node,服务器在哪里?Node是运行时环境,用于创建服务器,Express是一个Web框架,以帮助处理服务器http请求,但是实际的Web服务器是什么/在哪里?也许我只是不了解网络服务器或其他东西?有人请澄清!
对于Node
,我们不需要像 Apache 这样的 Web 服务器或容器之类的,节点可以侦听端口并充当服务器本身,
express
web application framework for Node
提供了一组功能,使生活更轻松。
为了进行模糊的比较,如果Node是一部电话,那么Node + express将是一款智能手机。 - 两者都可以做同样的事情,但后者具有更方便的功能。
请参阅下面的两个创建侦听端口 3000 的服务器的示例,
在节点中:
const http = require('http')
const requestHandler = (request, response) => {
console.log(request.url)
response.end('Hello Node.js Server!')
}
const server = http.createServer(requestHandler)
server.listen(3000,() => console.log("app started"));
节点+快递
const express = require('express');
const app = express();
app.get('/', function (req, res) {
res.send('Hello express !')
})
app.listen(3000,() => console.log("app started"));
两者都做同样的事情,但有了快递,事情就更容易了。