我是nodejs的新手。我已成功将其安装在我的计算机上(并重新启动)。我在My Documents
目录中创建了一个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安装目录中找不到这样的目录。
2 - http
方法createServer
如何实际创建服务器?原生javascript有这样的方法吗?
答案 0 :(得分:2)
node.js标准库是用Javascript和C ++编写的,C ++模块可以通过process.binding
以js代码加载。专门针对http.createServer
,它是_http_server.Server
的包装器,它调用net.Server
,它使用C ++ TCP wrapper。
有关详细信息,请参阅here。
要回答第二个问题,createServer
只是创建并填充控制对象,实际工作在listen
,首先是creates a handle,这就是C ++代码的实际位置{{ 3}}第一次。
答案 1 :(得分:0)
1)http是内置节点模块。您可以在此处阅读相关文档:https://nodejs.org/api/http.html。 Node提供了许多开箱即用的模块,以协助日常操作(与文件系统交互,发出HTTP请求,创建服务器,使用路径等)。
2)不确定“本机”JavaScript的含义。 JavaScript只是一种语言。我想你真的在询问运行时环境。如果您在浏览器中使用JavaScript,则无法启动HTTP服务器。但是Node.js在服务器上运行,因此在这种环境中它可以做各种你在浏览器中无法用JavaScript做的事情,比如访问文件系统。