什么原生的JavaScript方法是能够创build一个服务器?

我是nodejs的新手。 我已经成功地将其安装在我的电脑上(并重新启动)。 我在“ My Documents目录中创build了一个hello_world.js(我在Windows XP计算机上):

 console.log("hello world"); var my_http = require( 'http' ); var my_server = my_http.createServer( ... ) ; ... 

我已成功打开Windows命令提示符,cd到My Documents目录,执行.js文件,并收到“hello world”输出。 我浏览器浏览到正在运行的localhost端口(对于我的实验: http://localhost:1337/

但是我有两个基于这个问题的主要问题:

1 – 其中是'http'…我想这是一个模块(?),但我没有在我的nodejs安装目录中find这样一个目录。

2http方法createServer实际上是如何创build一个服务器的? 原生JavaScript有这样一个方法吗?

node.js标准库是用Javascript和C ++编写的,C ++模块可以通过process.binding加载到js代码中。 特别是对于http.createServer ,它是http.createServer的一个包装器,它调用net.Server ,它使用C ++ TCP包装器 。

在这里看到更多的细节。

为了回答第二个问题, createServer只是创build和填充控件对象,实际的工作是在listen ,它首先创build一个句柄 ,这是第一次实际调用 C ++代码的地方。

1)http是一个内置的节点模块。 你可以在这里阅读它的文档: https : //nodejs.org/api/http.html 。 Node提供了很多开箱即用的模块来协助日常操作(与文件系统交互,发出HTTP请求,创build服务器,处理path等)

2)不确定你的意思是“本机”的JavaScript。 JavaScript只是一种语言。 我想你真的在问运行时环境。 如果您在浏览器中使用JavaScript,则不能启动HTTP服务器。 但Node.js在服务器上运行,所以在这个环境下,它可以做各种你无法在浏览器中使用JavaScript的东西,比如访问文件系统。