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