很难理解服务器端脚本

时间:2018-12-19 13:38:04

标签: javascript php node.js server-side-scripting

我了解到php和node.js都是服务器端脚本。

我很难理解node.js与在网络浏览器上运行javascript之间的联系。那么,我们不能在Web浏览器上使用javascript访问文件和数据库吗?服务器端脚本和客户端脚本如何连接(或者我们如何连接它们)?还是我应该将它们视为完全不同的东西?

另一个令人困惑的事实是,我了解到可以使用html文件中的php访问数据库和文件,但是node.js呢?

提前谢谢!

2 个答案:

答案 0 :(得分:3)

  

我很难理解node.js与在网络浏览器上运行javascript之间的联系。

没有一个。

JavaScript只是一种编程语言。您在其中编写软件。您可以在不同的地方运行该软件。该软件的功能取决于您在何处运行。

我可以编写一些JavaScript来打开和关闭房屋中的灯。如果我没有可以让我做到的硬件,那我就不会。

可以编写在浏览器中运行的JavaScript来完成浏览器使之可行的事情。

可以编写运行在Node.js中的JavaScript来完成Node.js可以实现的任务。

  

服务器端脚本和客户端端脚本如何连接(或者我们如何连接它们)?

在浏览器中运行的JavaScript可以向HTTP服务器发出HTTP请求(并处理来自HTTP服务器的响应)。

在Node.js中运行的JavaScript可以是HTTP服务器。

  

另一个令人困惑的事实是,我了解到可以使用html文件中的php访问数据库和文件,但是node.js呢?

不,你不能。

如果通过Web服务器运行PHP,则PHP将自动生成HTTP响应标头,以表示它正在输出HTML(您可以覆盖它)。

在PHP语言中,<?php ... ?>之外的代码将直接流到输出中。

这意味着您可以在PHP程序中键入HTML文档,但是可以在<?php ... ?>之外键入,并且看起来HTML文档中包含PHP。确实,这是一个生成HTML文档的PHP程序。

JavaScript不能那样工作。它没有“ Real JavaScript模式”(例如<?js ?>)和“直接流至输出模式”。

您可以使用很多模板引擎,包括EJS(可将JS嵌入模板中)。我本人倾向于修女。

答案 1 :(得分:0)

我建议您阅读一些有关客户端技术和服务器端技术之间差异的文章。这是对What are the differences between server-side and client-side programming?

基础知识的很好解释

我认为您在考虑网站开发方面的问题。

Node.js允许运行javascript服务器端。为了向客户端(例如,您的浏览器)公开数据库和文件,您需要在node.js应用程序中创建一个连接。您还可以提供文件并将数据公开给浏览器,例如express.js。

为了在Web应用程序上显示数据,您可以呈现html服务器端,也可以通过javascript在客户端应用程序上发出ajax / http请求。

例如,在PHP中,您将连接到MySQL数据库并使用从db中检索到的数据来呈现一些html。