什么原生的javascript方法能够创建一个服务器

What native javascript method is capable of creating a server?

本文关键字:服务器 一个 创建 原生 javascript 方法 什么      更新时间:2023-09-26

我是nodejs的新手。我已经成功地在我的计算机上安装了它(并重新启动)。我在目录中创建了一个hello_world.js My Documents(我在 Windows xp 计算机上):

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

我已经成功打开了一个 windows 命令提示符,cd 到 My Documents 目录,执行了.js文件,并收到了"hello world"输出。我已经将浏览器导航到正在运行的本地主机端口(对于我的实验:http://localhost:1337/

但基于此,我有两个主要问题:

1 - "http"在哪里...我想它是一个模块(?),但我在我的 nodejs 安装目录中找不到这样的目录。

2 - http方法createServer如何实际创建服务器?原生JavaScript有这样的方法吗?

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

有关更多详细信息,请参阅此处。

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

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

2)不确定"原生"JavaScript是什么意思。JavaScript只是一种语言。我认为您实际上是在询问运行时环境。如果您在浏览器中使用 JavaScript,那么不,您无法启动 HTTP 服务器。但是 Node.js 在服务器上运行,所以在这种环境中它可以做各种你在浏览器中使用 JavaScript 无法做的事情,比如访问文件系统。

相关文章: