Javascript npm http和语法解释
我需要澄清下面的一些语法和正在执行的代码的顺序 我猜它首先从服务器的创建开始Javascript npm http和语法解释,javascript,http,server,Javascript,Http,Server,我需要澄清下面的一些语法和正在执行的代码的顺序 我猜它首先从服务器的创建开始 var server=http.createServer(handleRequest) 然后执行server.listen函数 但在浏览器上,当用户在路径(如“/”)上结束时,调用handleRequest函数的位置以及返回和存储在var server中的内容。.listen是服务器的一部分吗。listen是npmhttp包的一部分,就像createServer一样 // Here we require/import
var server=http.createServer(handleRequest)代码>
然后执行server.listen
函数
但在浏览器上,当用户在路径(如“/”
)上结束时,调用handleRequest
函数的位置以及返回和存储在var server
中的内容。.listen
是服务器的一部分吗。listen
是npmhttp
包的一部分,就像createServer
一样
// Here we require/import the HTTP module
var http = require("http");
// Here we define a port to listen to
var PORT = 8080;
// Here we create a generic function to handle requests and responses
function handleRequest(request, response) {
// The below statement is triggered (client-side) when the user visits the PORT URL
response.end("It Works!! Path Hit: " + request.url);
}
// Here we use the Node HTTP package to create our server.
// We then pass it the handleRequest function to empower it with functionality.
var server = http.createServer(handleRequest);
// Here we start our server so that it can begin listening to client requests.
server.listen(PORT, function() {
// The below statement is triggered (server-side) when a user visits the PORT URL
console.log("Server listening on: http://localhost:%s", PORT);
});
HTTP
模块是直接内置到节点的模块createServer()
返回一个服务器实例,该实例有一个名为listen
的方法。这实际上是为请求
事件设置一个事件侦听器。当传入请求传入时,HTTP会将其定向到handleRequest()
函数HTTP
是节点()的一部分,只是默认情况下没有加载,因此您需要它
var server=http.createServer(handleRequest)
创建一个新的http.server
实例,将变量server
设置为引用它刚刚创建的实例,并告诉它将任何请求路由到函数handleRequest
server.listen(PORT)
使用创建的http.server实例调用其listen方法,只要PORT
的端口等于,就告诉server
侦听指定的端口。因此,.listen
是http
模块的一部分
每当server
收到一个请求时,就像您转到它一样,它使用两个参数调用handleRequest
,第一个是请求,第二个是我们可以写入的响应HandlerRequest
从给定的请求参数中获取url,然后向响应参数写入一个字符串加上url,并结束有效发送响应的响应。我知道这并不能回答问题,但http
模块是节点核心的内置模块,没有必要用NPM安装它谢谢你的解释。它开始变得更加清晰。当handleRequest函数作为一个参数传递给http.createServer时,它就成为该实例的一个属性,我猜它是作为一个回调函数传递给服务器的,因此每当发出请求时,就会调用回调函数handleRequest?@匿名正如您所说,handleRequest
就像一个回调函数,它是异步的。因此,服务器等待一个请求,然后每当向该服务器实例发出请求时,它都会调用requestListener(requestData,responseData)
(注意requestListener来自文档。requestData和responseData只是随机名称,表示调用函数时使用的数据)在本场景中,它是handleRequest
。