4

node.js 有几个方面我不太了解。我希望有人能让事情更清楚

当您安装 node.js 时,您将文件存储在哪里,以便 Web 浏览器可以显示您的内容?例如 Apache 有一个 www 文件夹。

node.js 会取代客户端 javascript 吗?

node.js 如何与 HTML 交互?例如,如果我想将来自服务器的数据放入这个 div 元素中<div id="content"></div> ,在 PHP 中,您可以执行以下操作:<div id="content"><?php echo $content; ?></div>

你会从客户端调用 node.js 吗?例如:对 node.js 的 Ajax 请求以获取数据。

令我困惑的是,因为它是从服务器运行的,所以我希望我可以在浏览器上使用 javascript 从 node.js 服务器获取数据。但是,我看到的示例从未完成。

提前致谢

4

3 回答 3

6

当您安装 node.js 时,您将文件存储在哪里,以便 Web 浏览器可以显示您的内容?例如 Apache 有一个 www 文件夹。

哪里都行。node.js 不提供静态内容,它运行 JavaScript。您在启动它时告诉它要运行哪个脚本。

您可以编写一些提供静态内容的 JavaScript,但将其保存在何处取决于您编写的代码。

node.js 会取代客户端 javascript 吗?

仅在任何服务器端编程替换客户端 JavaScript 的情况下。

在服务器端使用 JS 的一个优点是您可以在客户端和服务器上重用库。有关声称专注于此的框架,请参阅Mojito(我自己还没有时间尝试)。

例如,如果我想将来自服务器的数据放入这个 div 元素中<div id="content"></div>,在 PHP 中,您可以执行以下操作:<div id="content"><?php echo $content; ?></div>

PHP 是一种具有嵌入式编程语言的模板语言。JavaScript 是一种编程语言。通常,您会使用 JS 中的模板语言(例如mustache)。

你会从客户端调用 node.js 吗?例如:对 node.js 的 Ajax 请求以获取数据。

是的,如果你愿意的话。就像任何其他服务器端编程环境一样。(假设您使用节点来运行 HTTP 服务器)。

于 2012-05-04T13:06:27.493 回答
1

Node.js 不是服务器(例如 Apache)。它是一个使用一些内置库(所谓的模块)运行 Javascript 的平台。在 Node.js 中编写服务器(HTTP 或任何其他)非常容易,但您也可以编写完全不同的程序(与网络无关,意味着在本地执行)。

我建议您阅读以下内容:http ://www.nodebeginner.org/ 。这花了我几个小时,但让我能够毫不费力地理解 Node 的基础知识。

至于客户端脚本,它通常是分开的。Node 中的代码在单独的环境中运行,然后在浏览器中运行。他们可以交流,但你必须明确地让他们交流。它与 PHP 中的服务器端编码没有太大区别。服务器上的代码会产生一些输出(例如 HTML),然后发送给客户端。如果输出中有脚本,客户端(浏览器)会执行它。它们可以通信(通过 XHR、websockets 等),但这些脚本本身是独立的。

于 2012-05-04T14:06:39.177 回答
0

node.js 如何与 HTML 交互?例如,如果我想将来自服务器的数据放入这个 div 元素中,在 PHP 中,您可以执行以下操作:

您可能会将内容作为 JSON 发送到 JS-Client 并将其插入 DOM(使用纯 JS 或 JQuery)。

我已经在 Node.js 中编写了一个非常简单(而且功能不太丰富:-P)的聊天应用程序,尝试一些概念并了解在客户端和服务器上使用 JS。也许它会给你一些线索。

编辑

在这个应用程序中,服务器还提供静态文件,在实现生产就绪应用程序时不应该这样做(Node 并不真正适合提供静态文件!)。

于 2012-05-04T13:50:08.890 回答