理解node.js的一些方面

node.js有几个方面我不太明白。 我希望有人能把事情弄清楚

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

node.js是否取代客户端的JavaScript?

node.js如何与HTML交互? 例如,如果我想从服务器的数据到这个div元素<div id="content"></div>在PHP中,你可以做这样的事情: <div id="content"><?php echo $content; ?></div> <div id="content"><?php echo $content; ?></div>

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

有什么令我困惑的是,因为它是从服务器运行,所以我希望我可以在浏览器上使用JavaScript从Node.js服务器获取数据。 但是,我看到这个例子从来没有完成。

提前致谢

当你安装node.js你在哪里存储你的文件,以便网页浏览器可以显示你的内容? 例如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> <div id="content"><?php echo $content; ?></div>

PHP是一种embedded式编程语言的模板语言。 JavaScript是一种编程语言。 通常情况下,您可以使用JS中的模板语言(例如胡须 )。

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

是的,如果你想。 就像其他的服务器端编程环境一样。 (假设您正在使用节点运行HTTP服务器)。

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

我build议你阅读这个: http : //www.nodebeginner.org/ 。 这花了我几个小时,但让我了解Node的基本知识,没有太多的痛苦。

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

node.js如何与HTML交互? 例如,如果我想从服务器的数据到这个div元素在PHP中,你可以做这样的事情:

您可能会将内容作为JSON发送到JS客户端,并将其插入到DOM中(使用普通的JS或JQuery)。

我在Node.js中写了一个非常简单的(不是很多function丰富的:P) 聊天应用程序 ,尝试了一些概念,并理解在客户端和服务器上使用JS。 也许它会给你一些线索。

编辑

在这个应用程序中,服务器还提供静态文件,在执行生产就绪应用程序时(节点不适合提供静态文件!),您不应该这样做。